天天看點

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      

繼續閱讀