天天看点

CentOS 7 使用 virt-install + vnc 图形界面 创建虚拟机

环境

操作系统:CentOS 7.0
IP地址:192.168.0.102      

1、安装qemu-kvm,libvirt

# qemu-kvm创建虚拟机硬盘,libvirt管理虚拟机
yum install -y qemu-kvm libvirt      

2、安装virt-install

# 用来创建虚拟机
yum install -y virt-install      

3、启动 librvirt

libvirt在安装完成后,默认已经创建了一个NAT类型的网络,并且已经设置好了NAT的一系列规则,DHCP等,这个网络会给宿主机创建一张virbr0网卡,用于宿主机与虚拟机互通。
# 启动libvirt,此时ifcofnig,查看多了一块virbr0的网卡,ip为 192.168.122.1,virsh命令可以用
systemctl start libvirtd

# 设为开机启动  
systemctl enable libvirtd      

4、网络配置

# 配置桥接网卡
cd /etc/sysconfig/network-scripts/
vi ifcfg-br0

# 配置内容
DEVICE=br0         # 桥接网卡名称
TYPE=Bridge        # 类型桥接
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.102   # 此处的IP为本地的物理IP,通过ifconfig查看
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8      

配置物理网卡

vi ifcfg-ens33

# 配置如容
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0        # 设置网络桥接的名称
NM_CONTROLLED=yes      

重启网络

systemctl restart network      

查看网络

[root@centos7 network-scripts]# ifconfig

# 结果
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255……

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:47:ec:83  txqueuelen 1000  (Ethernet)……

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>……

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:ab:d0:6c  txqueuelen 1000  (Ethernet)……


# 查看网络
brctl show

# 显示如下
bridge name bridge id   STP enabled interfaces
br0   8000.000c2947ec83 no    ens33
virbr0    8000.525400abd06c yes   virbr0-nic

# 到此,先ping下百度,如果通,表示配置正确      

报错:

cat /var/log/messages | grep "libssl"

# libssl错误
version libssl.so.10 not defined in file libssl.so.10 with link time reference

# 升级
yum install -y openssl-1.0.2k*      

5、安装虚拟机

安装方式:在服务器上只完成虚拟机的配置信息和镜像的引导,系统的安装通过VNC远程登录系统进行

virt-install \

--name=kvm001 --ram 1024 --vcpus=1 \

--disk path=/home/raw/kvm001.raw,size=10,format=raw,bus=virtio \

--cdrom=/mnt/CentOS-7-x86_64-Minimal-1810.iso --network bridge=br0,model=virtio \

--graphics vnc,listen=0.0.0.0 --noautoconsole

--name    #虚拟机名称
--ram     #分配给虚拟机的内存,单位MB
--vcpus   #分配给虚拟机的cpu个数
--cdrom   #指定CentOS镜像ISO文件路径
--disk    #指定虚拟机raw文件路径
  size    #虚拟机文件大小,单位GB
  bus     #虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
  cache   #虚拟机磁盘的cache类型
--network bridge    #指定桥接网卡
   model            #网卡模式,这里也是使用性能更好的virtio
--graphics          #图形参数      

打开 5900 端口

vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5900:5902 -j ACCEPT  #打开VNC远程端口      

在window下载TightVNC Viewer,进行远程安装

CentOS 7 使用 virt-install + vnc 图形界面 创建虚拟机

6、启动虚拟机

# 列出所有虚拟机

virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     kvm001                         关闭


# 启动kvm001虚拟机
virsh start kvm001

# 设置自启动  
virsh autostart kvm001


# 其它操作
----------------------------------------------------
virsh autostart --disable kvm001   # 关闭自启动
virsh shutdown kvm001              # 关闭虚拟机
virsh dominfo kvm001               # 显示虚拟机的基本信息
virsh dumpxml kvm001               # 显示虚拟机的配置文件      

 7、如果安装时没记住IP,可以通过以下方法找到,然后再配置静态IP

virsh dumpxml kvm002 | grep mac

# 结果
<partition>/machine</partition>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<mac address='52:54:00:89:67:66'/>  #记录mac地址

arp -a | grep 52:54:00:89:67:66  #查询IP

# 结果
? (192.168.0.100) at 52:54:00:89:67:66 [ether] on br0     #找到IP


# 找不到的话,执行以下,全局扫描IP段
yum install -y namp
nmap -sP 192.168.0.1/24      
# 1、关机
virsh shutdown kvm001

# 2、把名称改为kvm100
virsh domrename kvm001 kvm100

# 3、修改磁盘文件名称
mv /home/raw/kvm001.raw /home/raw/kvm100.raw

# 4、修改配置文件
virsh edit kvm100
# 修改内容
<source file='/home/raw/kvm100.raw'/>

# 5、开机
virsh start kvm100      
# 强制关闭虚拟机
virsh destroy kvm001

# 删除定义虚拟机
virsh undefine kvm001

# 查找虚拟机文件
find / -name kvm002*
/var/log/libvirt/qemu/kvm002.log
/home/raw/kvm002.raw

# 删除
find / -name kvm002* | xargs rm -rf      

继续阅读