Linux KVM 安裝使用手冊

      網友投稿 1000 2025-03-31

      安裝

      前期準備

      安裝虛擬機軟件

      配置網絡橋接

      使用 virt-install 工具安裝 guest 系統

      安裝

      前期準備

      安裝虛擬機軟件

      配置網絡橋接

      使用 virt-install 工具安裝 guest 系統

      虛擬機配置文件

      libvirtd 配置文件

      查看 virsh 管理 qemu 虛擬機的信息

      使用

      查看所有虛擬機狀態

      查看指定虛擬機狀態

      手動啟動虛擬機

      手動關閉虛擬機

      直接通過主機配置文檔啟動主機

      關機虛擬機

      重啟虛擬機

      手動掛起/恢復虛擬機

      斷電關閉虛擬機

      設置隨宿主啟動(開機啟動)

      取消開機啟動

      刪除虛擬機

      導出(備份)虛擬機配置文件

      編輯虛擬機配置文件

      查看虛擬機磁盤信息

      查看指定虛擬機使用磁盤

      虛擬機遷移宿主物理服務器

      獲取虛機網卡接口

      獲取網卡實時信息

      顯示虛擬機的信息

      獲取虛擬機的UUID

      獲取虛擬機的ID

      23、顯示虛擬機的運行狀態

      編輯虛擬機的配置文件

      virsh console連接虛機

      為虛擬機添加一塊qcow2磁盤

      修改虛擬機內存及CPU大小

      快照管理

      虛擬機克隆

      從本地虛擬機直接克隆

      通過復制配置文件和硬盤文件克隆

      安裝

      前期準備

      確定機器有 VT

      不知道芯片的生產廠商則輸入:

      egrep '(vmx|svm)' /proc/cpuinfo

      如果flags: 里有 vmx 或者 svm 就說明支持 VT;如果沒有任何的輸出,說明你的 cpu 不支持,將無法成功安裝 KVM 虛擬機。

      2. 確保BIOS里開啟VT:

      Intel(R) Virtualization Tech [Enabled]

      如有必要,還需在 BIOS 中開啟 VT

      安裝虛擬機軟件

      安裝相關的軟件包

      yum search kvm #使用search查尋KVM的軟件包 yum install #kvm的軟件包

      也可通過這兩種方法來安裝,在 ISO 鏡像中的 rpm 包和 yum 來

      安裝 KVM 有兩種方式:

      通過 YUM 安裝,在有 INTERNET 接入的地方可以使用,使用方法比較簡單。

      安裝 KVM 和 virtinst(一個創建虛擬機的工 具),我們運行

      yum install kvm kmod-kvm qemu libvirt python-virtinst

      然后重新啟動系統:

      Reboot

      通過 CentOS 自帶光盤中的 RPM 包進行安裝

      安裝 KVM 需要以下一些包:

      kmod-kvm x86_64 83-164.el5_5.15 kvm x86_64 83-164.el5_5.15 libvirt i386 0.6.3-33.el5_5.1 libvirt x86_64 0.6.3-33.el5_5.1 python-virtinst noarch 0.400.3-9.el5 qemu x86_64 0.9.0-4 所需的依存包為: bridge-utils x86_64 1.1-2 celt051 x86_64 0.5.1.3-0.el5 e4fsprogs-libs i386 1.41.9-3.el5 e4fsprogs-libs x86_64 1.41.9-3.el5 etherboot-zroms-kvm x86_64 5.4.4-13.el5.centos iscsi-initiator-utils x86_64 6.2.0.871-0.16.el5 libvirt-python x86_64 0.6.3-33.el5_5.1 log4cpp x86_64 1.0-9.el5 qcairo x86_64 1.8.7.1-3.el5 qffmpeg-libs x86_64 0.4.9-0.16.20080908.el5_5 qpixman x86_64 0.13.3-4.el5 qspice-libs x86_64 0.3.0-54.el5_5.1 xen-libs i386 3.0.3-105.el5_5.5 xen-libs x86_64 3.0.3-105.el5_5.5 xz-libs i386 4.999.9-0.3.beta.20091007git.el5 xz-libs x86_64 4.999.9-0.3.beta.20091007git.el5

      將其放在一個文件夾內,使用 rpm –ivh *.rpm 命令來進行安裝?;蛘呤褂?rpm -i ( or --install) options file1.rpm file2.rpm... fileN.rpm 將每個 RPM 包列出進行安裝。

      驗證 KVM 是否安裝完成

      使用下列命令檢查 KVM 是否成功安裝

      virsh -c qemu:///system list

      將會顯示如下結果:

      [root@server1 ~]# virsh -c qemu:///system list Id Name State

      軟件包安裝完畢后,加載 kvm 模塊

      modprobe kvm

      檢查模塊是否加載成功,執行如下命令:

      lsmod |grep kvm

      如果顯示兩行,說明模塊正確加載:

      kvm_intel 47790 0 kvm 300762 1 kvm_intel

      如果只顯示一行,請檢查

      cpu 是否支持 VT 技術

      bios 中是否將 cpu 的 VT 開啟

      接下來配置橋接網卡,網上有現成的腳本可以使用,這個是我在之前測試convirt時發現的,實際上是convirt的環境配置工具。

      先將工具包下載下來下了(安裝kvm系統可以上網)

      wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz

      然后解壓軟件包:

      tar zxvf convirture-tools-2.0.1.tar.gz #(這個一定要放到root目錄里才行) /root/convirture-tools/install/managed_server/scripts/convirt-tool --bridge setup

      執行完上述命令后,會自動將橋接網卡配置好,跑橋接自動好。

      啟動服務

      /etc/init.d/libvirt-guests start /etc/init.d/libvirtd start

      到此,kvm 虛擬化環境就全部配置完畢了

      libvirt:使用最多的KVM虛擬化管理工具和應用程序接口,即通過 libvirt 調用 KVM 創建虛擬機,libvirt 是 KVM 通用的訪問 API,其不但能管理 KVM,還能管理 VMware、Xen、Hyper-V、virtualBox 等虛擬化方案。

      virsh:是一個常用的管理 KVM 虛擬化的命令行工具,常用語管理運行在單個宿主機上的虛擬機,virsh是一個使用C語言編寫調用 libvirt API 的虛擬化管理命令行工具。

      virt-manager:一個虛擬化管理圖形軟件,其底層也是調用 libvirt API 來完成對虛擬機的操作,包括虛擬機的創建、刪除、啟動、停止以及一些簡單的監控功能等。

      配置網絡橋接

      進入目錄 /etc/sysconfig/network-scripts,復制一份原有的 ifcfg-eth0 為 ifcfg-br0

      cp ifcfg-eth0 ifcfg-br0

      修改 ifcfg-br0,內容如下:

      DEVICE="br0" BOOTPROTO=static ONBOOT="yes" TYPE="Bridge" IPADDR=192.168.31.60 GATEWAY=192.168.31.1 NETMASK=255.255.255.0 DEFROUTE=yes

      IPADDR、GATEWAY、NETMASK 根據自己的實際情況修改。

      修改 ifcfg-eth0, 內容如下:

      DEVICE="eth0" BOOTPROTO=none NM_CONTROLLED="no" ONBOOT="yes" TYPE="Ethernet" BRIDGE="br0" HWADDR=F8:DB:88:FF:99:E3 DEFROUTE=yes IPV4_FAILURE_FATAL=yes NAME="System eth0"

      重啟網絡服務即可。

      /etc/init.d/network restart

      如果出現問題,關閉 NetworkManager 后重試。

      chkconfig NetworkManager off service NetworkManager stop

      使用 virt-install 工具安裝 guest 系統

      創建硬盤映像文件

      使用 qemu-img 命令創建

      qemu-img create -f raw /home/kvm_data/centos7.82C8G.img 100G

      或使用 dd 命令創建

      dd bs=1M count=8096 if=/dev/zero of=/var/lib/libvirt/images/test.img

      qemu-img 是創建是文件格式是稀疏文件,優點是速度超快,由于是稀疏文件,性能可能會比第二種略差,通過如下命令查看詳情

      qemu-img info /var/lib/libvirt/images/test.img

      輸出為:注意其中 disk size 為 0

      image: test.img file format: raw virtual size: 8.0G (8589934592 bytes) disk size: 0

      通過iso文件安裝系統

      界面安裝:需要通過 vnc 連接上去。

      virt-install --name=vserver1 --ram 4096 --vcpus=2 --disk path=/home/kvm_data/centos7.8.img,size=100 --accelerate --cdrom /home/software/CentOS-7-x86_64-DVD-2003.iso --graphics vnc,listen=0.0.0.0 --network bridge=br0 --force --autostart --connect qemu:///system

      命令行安裝:不需要 vnc 連接上去。

      virt-install --name=vserver1 --memory=4096,maxmemory=6144 --vcpus=2,maxvcpus=4 --os-type=linux --os-variant=rhel7 --location=/home/software/CentOS-7-x86_64-DVD-2003.iso --disk path=/home/kvm_data/centos7.8.img,size=10 --bridge=virbr0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"

      虛擬機配置文件

      libvirtd 配置文件

      配置文件位置:

      /etc/libvirt/libvirtd.conf

      日志配置:

      #將日志級別設置為 1(調試) log_level = 1 #指定日志輸出文件名稱 log_outputs="1:file:/var/log/libvirt/libvirtd.log"

      注意 :libvirtd. 日志文件可能會飛速增長。 用戶應配置 logrotate ,否則您的 /var 文件系統最后會裝滿內容。

      以上的日志的輸出級別為 debug 級別.這個級別的日志是最多的,一般只在開發以及測試的時候使用。而在生產運行環境中,日志的級別為 info,warn,error,fatal. 以下前面的數字為他們的 level.

      1 debug 2 info 3 warn 4 error 5 fatal

      重啟 libvirtd 。虛擬機 Guest 操作系統正在運行時可重啟 libvirtd。

      /etc/init.d/libvirtd restart

      如果在目錄下還是沒發現日志文件,那么你可能需要使用一下命令來運行 libvirtd.

      libvirtd --daemon --listen --config /etc/libvirt/libvirtd.conf

      查看 virsh 管理 qemu 虛擬機的信息

      在使用 virsh 管理 qemu 的虛擬機時候,也是有日志的輸出的.

      具體的 log 在目錄 /var/log/livirt/qemu/ 下面,具體的 log 文件名與虛擬機名字關聯.

      使用

      查看所有虛擬機狀態

      [root@server1 ~]# virsh list --all Id Name State ---------------------------------------------------- - centos7.0 shut off - centos7.0-2 shut off [root@server1 ~]#

      查看指定虛擬機狀態

      [root@server1 ~]# virsh domstate centos7.0 shut off [root@server1 ~]#

      手動啟動虛擬機

      [root@server1 ~]# virsh start centos7.0 Domain centos7.0 started [root@server1 ~]# virsh domstate centos7.0 running [root@server1 ~]#

      手動關閉虛擬機

      [root@server1 ~]# virsh shutdown centos7.0 Domain centos7.0 is being shutdown [root@server1 ~]# virsh domstate centos7.0 shut off [root@server1 ~]#

      直接通過主機配置文檔啟動主機

      virsh create /etc/libvirt/qemu/node1.xml

      關機虛擬機

      virsh shutdown node1

      重啟虛擬機

      virsh reboot node1

      手動掛起/恢復虛擬機

      [root@server1 ~]# virsh suspend centos7.0 Domain centos7.0 suspended [root@server1 ~]# virsh resume centos7.0 Domain centos7.0 resumed [root@server1 ~]# virsh domstate centos7.0 running [root@server1 ~]#

      斷電關閉虛擬機

      [root@server1 ~]#virsh destroy centos7.0

      Linux KVM 安裝使用手冊

      設置隨宿主啟動(開機啟動)

      [root@server1 ~]#virsh autostart centos7.0

      取消開機啟動

      [root@server1 ~]#virsh autostart --disable centos7.0

      刪除虛擬機

      [root@server1 ~]#virsh undefine centos7.0

      導出(備份)虛擬機配置文件

      [root@server1 ~]#virsh dumpxml centos6 > /home/vpsbak/centos6bak.xml

      編輯虛擬機配置文件

      配置文件位置是 /etc/libvirt/qemu 下,可以用 vim 進行編輯,但是建議使用 KVM 提供的命令進行編輯:

      [root@server1 ~]#virsh edit centos7.0

      查看虛擬機磁盤信息

      [root@server1 ~]#qemu-img info vm01.img image: vm01.img file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 3.3G cluster_size: 65536 Format specific information: compat: 0.10

      查看指定虛擬機使用磁盤

      [root@server1 ~]#virsh domblklist vm01 目標 源 ------------------------------------------------ vda /home/vps/vm01.img vdb /home/vps/data.img hda

      虛擬機遷移宿主物理服務器

      備份虛擬機配置文件

      [root@kvm6 vps] virsh dumpxml centos6 > /home/vpsbak/centos6.xml

      關機,遷移配置文件和磁盤文件,配置文件路徑是 /etc/libvirt/qemu

      [root@kvm6 vps] scp /home/vpsbak/centos6.xml root@192.168.0.3:/etc/libvirt/qemu/ [root@kvm6 vps] scp /home/vpsdata/vps/centos6.qcow2 root@192.168.0.3:/data/vpsdata/vps

      激活虛擬機配置文件

      [root@server1 ~]#virsh define /etc/libvirt/qemu/centos6.xml

      獲取虛機網卡接口

      domiflist(domain)顯示網卡接口:

      $ virsh domiflist vm1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 network default rtl8139 52:54:00:0e:cb:48

      獲取網卡實時信息

      domifstat(demo vnet0) 顯示網卡信息 :

      $ virsh domifstat vm1 vnet0 vnet0 rx_bytes 51575 vnet0 rx_packets 863 vnet0 rx_errs 0 vnet0 rx_drop 0 vnet0 tx_bytes 4543 vnet0 tx_packets 44 vnet0 tx_errs 0 vnet0 tx_drop 0

      顯示虛擬機的信息

      dominfo(demo)顯示虛擬機的信息

      $ virsh dominfo vm1 Id: 4 Name: vm1 UUID: b961bd90-6445-4f61-9f14-77dd8c407cfb OS Type: hvm State: running CPU(s): 1 CPU time: 97.1s Max memory: 524288 KiB Used memory: 524288 KiB Persistent: yes Autostart: disable Managed save: no Security model: apparmor Security DOI: 0 Security label: libvirt-b961bd90-6445-4f61-9f14-77dd8c407cfb (enforcing)

      獲取虛擬機的UUID

      domuuid (demo)顯示虛擬機的id

      $ virsh domuuid vm1 b961bd90-6445-4f61-9f14-77dd8c407cfb

      獲取虛擬機的ID

      domid(id or name ) 根據名字得到id或根據id得到名字

      $ virsh domid vm1 4 $ virsh domname 4 generic

      23、顯示虛擬機的運行狀態

      domstate (demo) 顯示虛擬機的狀態

      $ virsh domstate vm1 running

      domcontrol(demo) 返回虛擬機的狀態ok or error

      $ virsh domcontrol vm1 ok

      編輯虛擬機的配置文件

      edit (demo) 編輯主機的配置文件,可調整內存、CPU等配置.

      $ virsh edit generic generic b961bd90-6445-4f61-9f14-77dd8c407cfb 524288 524288 1 hvm ……

      virsh console連接虛機

      # 連接命令 virsh console vm1

      需要在虛機上做一下配置

      centos 7

      grubby --update-kernel=ALL --args="console=ttyS0" reboot

      centos 6

      # 執行如下腳本 #/bin/sh GRUB=/etc/grub.conf BOOT_GRUB=/boot/grub/grub.conf echo "ttyS0" >> /etc/securetty sed -i '/\tkernel/{s/$/ console=ttyS0/g}' ${GRUB} sed -i '/\tkernel/{s/$/ console=ttyS0/g}' ${BOOT_GRUB} echo 'S0:12345:respawn:/sbin/agetty ttyS0 115200' >> /etc/inittab

      ubuntu

      systemctl disable systemd-networkd-wait-online systemctl enable serial-getty@ttyS0.service systemctl start serial-getty@ttyS0.service

      為虛擬機添加一塊qcow2磁盤

      查看磁盤大小與磁盤格式

      查看磁盤格式和磁盤文件位置:

      $ virsh edit generic

      查看硬盤格式信息

      $ qemu-img info /var/lib/libvirt/images/generic.qcow2 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 2.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true refcount bits: 16 corrupt: false

      添加一塊qcow2磁盤

      $ qemu-img create -f qcow2 test01_add.qcow2 2G

      將新增的磁盤文件添加到虛擬機

      $ virsh edit generic 添加如下內容:

      啟動虛擬機,分區、格式化、掛載磁盤

      修改虛擬機內存及CPU大小

      $ virsh edit generic generic b961bd90-6445-4f61-9f14-77dd8c407cfb 524288 524288 1

      快照管理

      創建快照

      $ virsh snapshot-create-as generic snap1

      查看快照

      $ virsh snapshot-list generic Name Creation Time State ------------------------------------------------------------ snap1 2018-05-23 14:17:40 +0800 running

      恢復快照

      $ virsh snapshot-revert generic snap1

      顯示快照信息

      $ virsh snapshot-info generic snap1 Name: snap1 Domain: generic Current: yes State: running Location: internal Parent: - Children: 0 Descendants: 0 Metadata: yes

      刪除快照

      $ virsh snapshot-delete generic snap1

      虛擬機克隆

      現有本地虛擬機需要先停止

      查看本地虛擬機

      $ virsh list –all Id Name State ---------------------------------------------------- - generic shut off

      從generic克隆一個虛擬機vm1

      執行克隆操作,使用磁盤文件vm1.img

      $ virt-clone -o generic -n vm1 -f /data/image/vm1.img

      啟動虛擬機

      $ virsh start vm1

      啟動后修改主機名、IP等

      查看現有虛擬機

      $ virsh list –all Id Name State ---------------------------------------------------- 8 vm1 running

      這里將從vm1克隆另一個虛擬機vm2

      導出vm1虛擬機配置文件

      $ virsh dumpxml vm1 > vm2.xml ```bash 4. 查看vm1磁盤文件所在位置:

      $ virsh edit vm1

      vm2 fe1f692d-34d5-4e0c-ab36-ba84eb024ee5 …… ……

      定義vm2配置文件

      $ virsh define vm2.xml Domain vm2 defined from vm2.xml

      此時會看到vm2虛擬機已經生成

      $ virsh list –all Id Name State ---------------------------------------------------- - vm2 shut off

      啟動vm3,重新更改主機名、IP等。

      KVM Linux 虛擬化

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇: 一公里多少米?一般來說一公里就是1000米
      下一篇:表格突然卡死沒保存(表格卡死了沒保存)
      相關文章
      综合自拍亚洲综合图不卡区| 亚洲三区在线观看无套内射| 亚洲av永久无码制服河南实里| 亚洲a∨国产av综合av下载| 亚洲精品国产suv一区88| 亚洲AV一二三区成人影片| 亚洲精品mv在线观看| 亚洲日韩国产精品无码av| 亚洲欧洲日产国码在线观看| 亚洲电影在线免费观看| 亚洲最新黄色网址| 亚洲jjzzjjzz在线观看| 亚洲一区二区三区在线| 99久久国产亚洲综合精品| 亚洲人成网站免费播放| 亚洲国产成人无码AV在线| 国产亚洲综合久久| 亚洲欧洲精品成人久久曰影片 | 国产精品亚洲视频| 337p日本欧洲亚洲大胆裸体艺术| 亚洲三区在线观看无套内射| 国产亚洲成AV人片在线观黄桃| 久久精品国产亚洲av麻豆| 亚洲欧洲国产日韩精品| 亚洲第一页在线播放| 涩涩色中文综合亚洲| 亚洲av无码偷拍在线观看| 亚洲成片观看四虎永久| 亚洲日本在线观看视频| 亚洲国产精品无码久久久秋霞2| 亚洲AV永久无码精品| 亚洲网站在线免费观看| 国产婷婷综合丁香亚洲欧洲| 亚洲日韩一区精品射精| 小说专区亚洲春色校园| 久久久久亚洲AV成人网人人网站| 亚洲av综合色区| 亚洲天堂一区二区三区| 亚洲欧美aⅴ在线资源| 亚洲国产天堂久久综合| 国产精品亚洲片在线|