KVM安裝與使用
一:基礎:
1安裝
yum grouplist
yum -y groupinstall "虛擬化" "虛擬化平臺" "虛擬化工具" "虛擬化客戶端"
Virtualization 虛擬化
Virtualization Client 虛擬化客戶端
Virtualization Tools 虛擬化工具
Virtualization Platform 虛擬化平臺
2.啟動 kvm 服務(守護進程libvirtd)
/etc/init.d/libvirtd start
chkconfig libvirtd on
二 網絡
1. 創建虛擬機
virt-manager —— 創建虛擬機、控制虛擬機
1)pxe
2)手動(
2. KVM橋接網卡配置
# vim ifcfg-br0
DEVICE="br0"
TYPE="Bridge"
# vim ifcfg-eth0
。。。
BRIDGE=br0
3.添加虛擬網絡
4.給虛擬機添加設備
三 配置文件
1一臺虛擬機對應2個配置文件
虛擬機配置信息的文件 /etc/libvirt/qemu/serverA.xml
虛擬機磁盤鏡像文件 /var/lib/libvirt/images/serverA.img
第一個配置文件 (四個位置確定唯一性)
<domain>
<name>serverA</name> 虛擬機名字
<uuid>46dd6b6e-e68b-f6f1-5a9d-d13eb8d13ee0</uuid> 唯一uuid
<source file=‘/var/lib/libvirt/images/serverA.img‘/> 鏡像位置
<mac address=‘52:54:00:8e:4b:6c‘/> mac地址
</domain>
2虛擬系統管理器 --> 編輯 --> "Connection Details"
單擊"+"號 --> network1 --> 192.168.4.0/24
不要啟用KVM自帶的DHCP
!!!! 避免VMware Workstation的虛擬網卡的沖突
四、virsh命令
1、查看KVM節點(服務器)信息
virsh nodeinfo
2、查看指定虛擬機的信息
virsh dominfo 虛擬機名稱
3、查看虛擬機列表
virsh list
virsh list --all
4、查看virsh版本
virsh version
5、啟動名稱為rhel6pxe的GUEST主機
virsh start rhel6pxe
6、強制關閉GUEST主機
virsh destroy rhel6pxe
7、將指定的虛擬機重啟
virsh reboot 虛擬機名稱
8、將指定的虛擬機正常關機
virsh shutdown 虛擬機名稱
9、導出GUEST主機的XML配置文件
virsh dumpxml 虛擬機名 查看
virsh dumpxml rhel6pxe > ~/rhel6pxe.xml
10、取消GUEST主機的定義
virsh undefine rhel6pxe
11、使用已經存在的xml文件和磁盤文件定義GUEST主機
virsh define ~/rhel6pxe.xml
12、設置GUEST主機在HOST主機啟動時,也會自動啟動
virsh autostart rhel6pxe
13、 將指定的虛擬機設置不隨KVM自動開機
virsh autostart --disable 虛擬機名稱
14、查看虛擬機(進入虛擬機界面)
virt-viewer 虛擬機名
15、虛擬機的掛起
virsh suspend rhel5f 虛擬機掛起
virsh resume rhel5f 掛起恢復
Virsh save rhel47 文件 將虛擬機狀態保存到文件的掛起(內存的狀態)
(重啟物理機也可以恢復到原來狀態)
Virsh restore 文件 將虛擬機恢復
16、鏈接遠端qemu(KVM)
virsh -c qemu+ssh://[email protected]/system
17、virsh鏈接虛擬機
virsh console domain
如果界面卡死 Escape character is ~]
解決辦法
修改客戶端
1、修改 /etc/securetty 到最後添加 ttyS0
echo ttyS0 >> /etc/securetty
2、修改/etc/inittab 到最後添加 S0:12345:respawn:/sbin/agetty/ ttyS0 115200
echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab
3、修改/etc/grub.conf ,如下圖所示在 kernel 這一行的末尾,添加console=ttyS0
6的內核哪一行為kernel XXXXX
7為linux16XXXXXXXX
重啟客戶端再次嘗試
五、使用LVM方式管理虛擬主機磁盤
1、創建LV
(1)# fdisk -cu /dev/sdb ->把system-id改為8e
(2)# pvcreate /dev/sdb1
(3)# vgcreate vg_kvm /dev/sdb1
(4)# lvcreate -n rhel6base -L 10G vg_kvm
2、創建GUEST主機時,磁盤選擇創建的LV
3、設置模板虛擬機。把模板計算的個性化信息去除,如root密碼、IP地址等。
(1)啟動rhel6base虛擬機後,執行以下命令
# touch /.unconfigured
4、生成lv快照
# lvcreate -s -n rhel6node1 -L 2G /dev/vg_kvm/rhel6base
5、導出原有虛擬機的配置文件
# virsh dumpxml rhel6base > rhel6node1.xml
6、生成一個uuid
[[email protected] ~]# uuidgen
9cb350bb-2add-461f-9e05-afc9799b3d9b
7、修改rhel6node1.xml
8、利用新的xml文件和LV快照定義新的克隆虛擬機
# virsh define rhel6node1.xml
9、當虛擬機用完,想要刪除時,只要把虛擬機取消定義,並刪除LV即可
# virsh undefined rhel6node1
# lvremove /dev/vg_kvm/rhel6node1
六、使用qcow2管理KVM虛擬機磁盤
1、創建qcow2磁盤文件
[[email protected] ~]# cd /var/lib/libvirt/images/
[[email protected] images]# qemu-img create -f qcow2 rhel6base.img 80G
磁盤格式轉換
qemu-img convert -f vpc(virtual Box類型) -o raw 就磁盤 新磁盤名
2、查看虛擬磁盤文件信息
[[email protected] images]# qemu-img info rhel6base.img
image: rhel6base.img
file format: qcow2
virtual size: 80G (85899345920 bytes)
disk size: 136K
cluster_size: 65536
3、安裝虛擬機到該文件中,使用腳本命令
七、使用qcow2增量鏡像實現克隆虛擬機功能
1、根據基礎鏡像創建增量鏡像文件
# qemu-img create -b rhel6base.img -f qcow2 rhel6basenode1.img
[[email protected] images]# qemu-img info rhel6basenode1.img
image: rhel6basenode1.img
file format: qcow2
virtual size: 80G (85899345920 bytes)
disk size: 136K
cluster_size: 65536
backing file: rhel6base.img
2、生成克隆虛擬機的XML文件
# virsh dumpxml rhel6base > rhel6basenode1.xml
# vim rhel6basenode1.xml #參見(三)中的修改方法
3、定義新的虛擬機
# virsh define rhel6basenode1.xml
八:LVM快照
1、 COW -> copy on write 寫時復制
2、應用。如,數據庫的庫文件存在lv(名稱為lv_db)上,大小為10G,如果在數據庫仍然在運行的條件下,要備份某一個時間點的數據(如10:30),那麽可以使用快照snapshot
# lvcreate -s -n lv_db-snap -L 1G /dev/vg_db/lv_db
# mount -o ro /dev/vg_db/lv_db-snap /mnt
從/mnt中把數據庫備份走即可
3、快照只是臨時應用,用完後移除即可
# lvremove /dev/vg_db/lv_db-snap
九、另一種克隆方法
virt-clone -o 模板虛擬機 -n 新虛擬機名稱 -f 克隆後的虛擬機磁盤路徑
十:從命令行創建虛擬機(建模板機)
1. 為虛擬機準備磁盤(邏輯卷)
lvcreate -L 20G -n lv_node1 vg_data
2. 創建新的虛擬機,並從命令行安裝RHEL 6.5系統(PXE方式)
[[email protected] ~]# virt-install \
--name node1 --vcpus=1 --ram=1024 \
--disk path=/dev/vg_data/lv_node1 \
--network network=network1 --pxe
!!!! 詳細可參考 man virt-install 手冊頁
!!!! 對於非PXE安裝,應改用 --location=安裝源URL
3. 初始化模板虛擬機,關機備用(平時應閑置)
touch /.unconfigured
//下次開機後會要求重設鍵盤、時區、root口令、網絡等信息
4、brctl 命令
Brctl --help
本文出自 “13262050” 博客,請務必保留此出處http://13272050.blog.51cto.com/13262050/1962630
KVM安裝與使用