目錄
一、了解虛擬化
二衰齐、常見虛擬化軟件
三任斋、虛擬化架構(gòu)
四、KVM介紹
五耻涛、Centos7上安裝KVM
六废酷、配置網(wǎng)卡
七、創(chuàng)建虛擬機安裝Centos7
八犬第、虛擬機管理
九锦积、克隆虛擬機
十、快照管理
十一歉嗓、磁盤格式
十二丰介、磁盤擴容(raw)
十三、磁盤擴容(qcow2)
十四鉴分、調(diào)整cpu內(nèi)存和網(wǎng)卡
十五哮幢、遷移虛擬機
一、了解虛擬化
VMware Workstation就是虛擬化
虛擬化簡單講志珍,就是把一臺物理計算機虛擬成多臺邏輯計算機橙垢,每個邏輯計算機里面可以運行不同的操作系統(tǒng),相互不受影響伦糯,這樣就可以充分利用硬件資源
關(guān)鍵詞Hypervisor(VMM) 虛擬機管理器
虛擬化技術(shù)分為全虛擬化和半虛擬化
早期的CPU硬件不支持虛擬化柜某,虛擬機上的操作系統(tǒng)(guestos)要想使用cpu資源,需要通過VMM來翻譯指令敛纲,這個過程比較耗費資源喂击,這種虛擬化技術(shù)叫做全虛擬化(VMware Workstation)
半虛擬化技術(shù)通過修改guestos內(nèi)核,讓guestos可以直接使用CPU資源淤翔,而不需要翻譯指令了翰绊,從而節(jié)省了資源,但修改內(nèi)核比較雞肋(XEN)
后續(xù)cpu廠商直接支持虛擬化,不需要通過VMM翻譯指令了监嗜,無所謂半虛擬化和全虛擬化
參考 http://www.cnblogs.com/xusongwei/archive/2012/07/30/2615592.html http://itoedr.lofter.com/post/1472ba_69c62fa
二谐檀、常見虛擬化軟件
VMware系列
VMware workstation、VMware vsphere(VMware esxi)裁奇、VMware Fusion(Mac)
Xen 開源 半虛擬化
XenServer 商業(yè)桐猬,廠商Ctirx,基于Xen的
KVM 開源 基于linux內(nèi)核模塊
Hyper-V 商業(yè)框喳,廠商微軟
Openvz 開源 基于linux 虛擬機和宿主機共用一個內(nèi)核
VirtualBox 開源 Sun公司開發(fā) Oracle收購Sun
http://developer.huawei.com/ict/forum/thread-23385-1-1.html
三课幕、虛擬化架構(gòu)
參考 http://developer.huawei.com/ict/forum/thread-23385-1-1.html
四、KVM介紹
KVM是以色列初創(chuàng)公司Qumranet開發(fā)五垮,2008年9月RedHat公司收購了Qumranet
KVM是Linux內(nèi)核的一個模塊乍惊,它把Linux內(nèi)核變成了一個Hypervisor
KVM是完全開源的,RedHat基于KVM的虛擬化解決方案叫做RHEV
KVM在Linux操作系統(tǒng)里面以進程的形式出現(xiàn)放仗,由標準的Linux調(diào)度程序進行調(diào)度润绎,這使得KVM能夠使用Linux內(nèi)核的已有功能
只有一個KVM內(nèi)核模塊還不能實現(xiàn)虛擬化的全部功能,就好比操作系統(tǒng)只有內(nèi)核還不能成為一個完整的操作系統(tǒng)一樣
QEMU是一個開源的虛擬化軟件诞挨,純軟件莉撇,可以虛擬化所以的硬件,性能不強
KVM基于QEMU開發(fā)了一個能夠運行在用戶空間的工具QEMU-KVM
磁盤惶傻、網(wǎng)絡(luò)設(shè)備等都是通過QEMU-KVM這個工具模擬出來的
KVM和QEMU-KVM通信是通過/dev/kvm實現(xiàn)的
libvirt是用來管理KVM虛擬機的API棍郎,其命令為virsh
- KVM架構(gòu)圖
五、Centos7上安裝KVM
前提是CPU支持虛擬化
虛擬機設(shè)置內(nèi)存4G银室,增加一個50G的虛擬磁盤涂佃,處理器2核,虛擬化引擎三個虛擬化相關(guān)的選項打上對勾
關(guān)閉iptables或者firewalld
關(guān)閉selinux
格式化新磁盤蜈敢,掛載到/kvm_data
檢查cpu參數(shù)是否支持虛擬化
grep -Ei 'vmx|svm' /proc/cpuinfo
安裝kvm
yum install -y virt-* libvirt bridge-utils qemu-img
[root@minglinux-01 ~] free #內(nèi)存
total used free shared buff/cache available
Mem: 3863532 741024 2514740 45368 607768 2821328
Swap: 2097148 0 2097148
[root@minglinux-01 ~] cat /proc/cpuinfo| grep "cpu cores"| uniq #核數(shù)
cpu cores : 2
[root@minglinux-01 ~] grep -Ei 'vmx|svm' /proc/cpuinfo #有vmx表示cpu支持虛擬化
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep arat spec_ctrl intel_stibp arch_capabilities
···
#查看系統(tǒng)磁盤情況
[root@minglinux-01 ~] fdisk -l
磁盤 /dev/sda:32.2 GB, 32212254720 字節(jié)辜荠,62914560 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x000236bc
設(shè)備 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 62914559 29154304 83 Linux
磁盤 /dev/sdb:53.7 GB, 53687091200 字節(jié),104857600 個扇區(qū) #/dev/sdb就時新增的虛擬磁盤
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0xbffc2ce5
···
#格式化磁盤
[root@minglinux-01 ~] mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
無論如何也要繼續(xù)? (y,n) y
/dev/sdb is apparently in use by the system; will not make a 文件系統(tǒng) here!
[root@minglinux-01 ~] dmsetup status
vg1-lv1: 0 614400 linear
[root@minglinux-01 ~] dmsetup remove_all
[root@minglinux-01 ~] mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
無論如何也要繼續(xù)? (y,n) y
文件系統(tǒng)標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
第一個數(shù)據(jù)塊=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
#掛載磁盤并設(shè)置開機自動掛載
[root@minglinux-01 ~] blkid /dev/sdb
/dev/sdb: UUID="e2119ff0-fb55-4347-a381-495e519eb26e" TYPE="ext4"
[root@minglinux-01 ~] mkdir /kvm_data
[root@minglinux-01 ~] mount /dev/sdb /kvm_data/
[root@minglinux-01 ~] vim /etc/fstab
#文件最后加入如下一行
12 /dev/sdb /kvm_data ext4 defaults 0 0
#關(guān)閉iptables或者firewalld抓狭,關(guān)閉selinux
[root@minglinux-01 ~] systemctl stop firewalld
[root@minglinux-01 ~] systemctl stop iptables
[root@minglinux-01 ~] systemctl disable firewalld
[root@minglinux-01 ~] systemctl disable iptables
Removed symlink /etc/systemd/system/basic.target.wants/iptables.service.
[root@minglinux-01 ~] iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
[root@minglinux-01 ~] getenforce
Disabled
#最后安裝kvm
[root@minglinux-01 ~] yum install -y virt-* libvirt bridge-utils qemu-img
六伯病、配置網(wǎng)卡
配置網(wǎng)卡,增加橋接網(wǎng)卡
設(shè)置一個br0網(wǎng)卡否过,TYPE為Bridge午笛,IP地址設(shè)置為ens33的ip
ens33配置文件里把IP地址去掉,增加BRIDGE=br0
檢查KVM模塊是否加載
lsmod|grep kvm
啟動libvirtd服務(wù)
systemctl start libvirtd
brctl show可以看到兩個網(wǎng)卡br0和virbr0
#設(shè)置br0橋接網(wǎng)卡苗桂,之前已經(jīng)創(chuàng)建過药磺,兩個網(wǎng)卡
[root@minglinux-01 ~] cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
#UUID=c0f01c3c-028a-4219-86db-bc442037da9b
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.162.130
GATEWAY=192.168.162.2
NETMASK=255.255.255.0
BROADCAST=192.168.162.255
DNS1=119.29.29.29
DNS2=8.8.8.8
[root@minglinux-01 ~] cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
#UUID=c0f01c3c-028a-4219-86db-bc442037da9b
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.162.130
#GATEWAY=192.168.162.2
#NETMASK=255.255.255.0
#BROADCAST=192.168.162.255
#DNS1=119.29.29.29
BRIDGE=br0
[root@minglinux-01 ~] ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:3f:e6:9f brd ff:ff:ff:ff:ff:ff
inet6 fe80::20c:29ff:fe3f:e69f/64 scope link
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:0c:29:3f:e6:a9 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:3f:e6:9f brd ff:ff:ff:ff:ff:ff
inet 192.168.162.130/24 brd 192.168.162.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3f:e69f/64 scope link
valid_lft forever preferred_lft forever
#檢查KVM模塊是否加載
[root@minglinux-01 ~] lsmod|grep kvm
kvm_intel 183720 0
kvm 578558 1 kvm_intel
irqbypass 13503 1 kvm
#啟動libvirtd服務(wù)
[root@minglinux-01 ~] systemctl start libvirtd
[root@minglinux-01 ~] ps aux |grep libvirtd
root 15584 3.6 0.4 1006920 15496 ? Ssl 20:51 0:00 /usr/sbin/libvirtd
root 15774 0.0 0.0 112720 984 pts/0 S+ 20:51 0:00 grep --color=auto libvirtd
#查看橋接網(wǎng)卡
[root@minglinux-01 ~] brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c293fe69f no ens33
virbr0 8000.525400eae033 yes virbr0-nic
七、創(chuàng)建虛擬機安裝Centos7
上傳centos7的鏡像文件到虛擬機
命令行安裝centos7
virt-install --name=minglinux01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/data/CentOS-7-x86_64-DVD-1804.iso --disk path=/kvm_data/minglinux01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
各選項含義依次是虛擬機名稱誉察、內(nèi)存与涡、最大內(nèi)存(可在線調(diào)整內(nèi)存)惹谐、CPU核數(shù)持偏、CPU最大核數(shù)驼卖、操作系統(tǒng)類型、操作系統(tǒng)版本鸿秆、系統(tǒng)鏡像路徑(可以是鏡像網(wǎng)絡(luò)地址)酌畜、虛擬磁盤路徑名稱大小、橋接網(wǎng)卡名字卿叽、是否開啟圖形桥胞、一些終端屬性。
#rz工具最大支持2G的文件考婴,這里使用xftp傳輸
[root@minglinux-01 ~] ll CentOS-7-x86_64-DVD-1804.iso
-rw-r--r-- 1 root root 4470079488 3月 22 21:09 CentOS-7-x86_64-DVD-1804.iso
[root@minglinux-01 ~] mv CentOS-7-x86_64-DVD-1804.iso /data/
#開始安裝
[root@minglinux-01 ~] virt-install --name=minglinux01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/data/CentOS-7-x86_64-DVD-1804.iso --disk path=/kvm_data/minglinux01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
開始安裝......
搜索文件 .treeinfo...... | 354 B 00:00:00
搜索文件 vmlinuz...... | 5.9 MB 00:00:00
···
···
Installation #出現(xiàn)一些安裝選項
1) [x] Language settings 2) [!] Time settings
(English (United States)) (Timezone is not set.)
3) [!] Installation source 4) [!] Software selectionb | Help: F1
(Processing...) (Processing...)
5) [!] Installation Destination 6) [x] Kdump
(No disks selected) (Kdump is enabled)
7) [ ] Network configuration 8) [!] Root password
(Not connected) (Password is not set.)
9) [!] User creation
Please make your choice from above ['q' to quit | 'b' to begin installation |
'r' to refresh]:
#感嘆號的選項需要進行選擇設(shè)置贩虾,語言時區(qū)什么的就不列出了,第8項密碼設(shè)置123456沥阱。最后選'b' to begin installation
#第5項配置
Installation
1) [x] Language settings 2) [x] Time settings
(Simplified Chinese (China)) (Asia/Shanghai timezone)
3) [x] Installation source 4) [x] Software selection
(Local media) (Minimal Install)
5) [!] Installation Destination 6) [x] Kdump
(No disks selected) (Kdump is enabled)
7) [ ] Network configuration 8) [!] Root password
(Not connected) (Password is not set.)
9) [!] User creation
(No user will be created)
Please make your choice from above ['q' to quit | 'b' to begin installation |
'r' to refresh]: 5
================================================================================
================================================================================
Probing storage...
Installation Destination
[x] 1) : 10 GiB (vda)
1 disk selected; 10 GiB capacity; 10 GiB free ...
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
================================================================================
================================================================================
Autopartitioning Options
[ ] 1) Replace Existing Linux system(s)
[x] 2) Use All Space
[ ] 3) Use Free Space
Installation requires partitioning of your hard drive. Select what space to use
for the install target.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: 2
================================================================================
================================================================================
Autopartitioning Options
[ ] 1) Replace Existing Linux system(s)
[x] 2) Use All Space
[ ] 3) Use Free Space
Installation requires partitioning of your hard drive. Select what space to use
for the install target.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
================================================================================
================================================================================
Partition Scheme Options
[ ] 1) Standard Partition
[ ] 2) Btrfs
[x] 3) LVM
[ ] 4) LVM Thin Provisioning
Select a partition scheme configuration.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: 1
================================================================================
================================================================================
Partition Scheme Options
[x] 1) Standard Partition
[ ] 2) Btrfs
[ ] 3) LVM
[ ] 4) LVM Thin Provisioning
Select a partition scheme configuration.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
Generating updated storage configuration
Checking storage configuration...
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
Generating updated storage configuration
···
···
Running post-installation scripts
.
Use of this product is subject to the license agreement found at /usr/share/centos-release/EULA
Installation complete. Press return to quit
域安裝仍在進行缎罢。您可以重新連接
到控制臺以便完成安裝進程。
#最后出現(xiàn)這哥退出提示時不需要按回車考杉,按ctrl+]退出安裝控制臺策精,虛擬機minglinux01會繼續(xù)進行重啟。
#直接按回車minglinux01進行重啟會導致宿主機也重啟了
八崇棠、虛擬機管理
安全完虛擬機需要重啟咽袜,要退出虛擬機使用快捷鍵ctrl ]
ps aux |grep kvm //查看kvm進程
virsh list //查看虛擬機列表,只能看到運行的虛擬機
virsh list --all //查看虛擬機列表枕稀,包括未運行的虛擬機
virsh console minglinux01//進入指定虛擬機
virsh shutdown minglinux01 //關(guān)閉虛擬機
virsh start minglinux01 //開啟虛擬機
virsh destroy minglinux01//類似stop询刹,這個是強制停止
virsh undefine minglinux01//徹底銷毀虛擬機,會刪除虛擬機配置文件抽莱,virsh list --all就看不到了
ls /etc/libvirt/qemu/ //可以查看虛擬機配置文件
virsh autostart minglinux01//宿主機開機該虛擬機也開機
virsh autostart --disable minglinux01//解除開機啟動
virsh suspend minglinux01//掛起
virsh resume minglinux01//恢復
[root@minglinux-01 ~] ls /kvm_data/
lost+found minglinux01.img
[root@minglinux-01 ~] virsh list
Id 名稱 狀態(tài)
----------------------------------------------------
[root@minglinux-01 ~] virsh list --all
Id 名稱 狀態(tài)
----------------------------------------------------
- minglinux01 關(guān)閉
[root@minglinux-01 ~] virsh start minglinux01
域 minglinux01 已開始
[root@minglinux-01 ~] virsh list
Id 名稱 狀態(tài)
----------------------------------------------------
2 minglinux01 running
[root@minglinux-01 ~] virsh suspend minglinux01
域 minglinux01 被掛起
[root@minglinux-01 ~] virsh list
Id 名稱 狀態(tài)
----------------------------------------------------
2 minglinux01 暫停
[root@minglinux-01 ~] virsh resume minglinux01
域 minglinux01 被重新恢復
[root@minglinux-01 ~] virsh list
Id 名稱 狀態(tài)
----------------------------------------------------
2 minglinux01 running
#進入虛擬機
[root@minglinux-01 ~] virsh console minglinux01
連接到域 minglinux01
換碼符為 ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64
localhost login: root
密碼:
[root@localhost ~]#
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:5e:a1:45 brd ff:ff:ff:ff:ff:ff
#自動獲取ip地址范抓,網(wǎng)段和宿主機一樣,這樣獲取到的ip是動態(tài)的食铐,也可以設(shè)置為靜態(tài)ip
[root@localhost ~]# dhclient eth0
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:5e:a1:45 brd ff:ff:ff:ff:ff:ff
inet 192.168.162.132/24 brd 192.168.162.255 scope global dynamic eth0
valid_lft 1798sec preferred_lft 1798sec
[root@localhost ~]# ping baidu.com
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 time=75.1 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 time=99.7 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 time=114 ms
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 75.152/96.455/114.494/16.228 ms
[root@localhost ~]# yum install -y net-tools
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.162.132 netmask 255.255.255.0 broadcast 192.168.162.255
ether 52:54:00:5e:a1:45 txqueuelen 1000 (Ethernet)
RX packets 6461 bytes 11138596 (10.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3697 bytes 213441 (208.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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>
loop txqueuelen 1000 (Local Loopback)
RX packets 256 bytes 22272 (21.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 256 bytes 22272 (21.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#看一下內(nèi)存大小匕垫、CPU核數(shù)和磁盤空間
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 479 87 140 6 251 228
Swap: 1023 0 1023
[root@localhost ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
[root@localhost ~]# df -h
文件系統(tǒng) 容量 已用 可用 已用% 掛載點
/dev/vda3 8.0G 1.1G 7.0G 13% /
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.7M 490M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 1014M 124M 891M 13% /boot
tmpfs 48M 0 48M 0% /run/user/0
#按ctrl+]退出minglinux01回到minglinxu-01
[root@minglinux-01 ~] top |grep qemu-kvm #有一個qemu-kvm進程,該進程占用多少資源對應(yīng)虛擬機minglinux01占用多少資源
27255 qemu 20 0 1794888 498620 9752 S 1.0 12.9 1:11.75 qemu-kvm
27255 qemu 20 0 1794888 498620 9752 S 1.0 12.9 1:11.78 qemu-kvm
27255 qemu 20 0 1794888 498620 9752 S 1.0 12.9 1:11.81 qemu-kvm
#查看虛擬機配置文件
[root@minglinux-01 ~] ls /etc/libvirt/qemu/
minglinux01.xml networks
#虛擬磁盤文件虐呻,這個文件刪除虛擬機才是完全銷毀
[root@minglinux-01 ~] ls /kvm_data/
lost+found minglinux01.img
九象泵、克隆虛擬機
virsh shutdown minglinux01
virt-clone --original minglinux01 --name minglinux02 --file /kvm_data/minglinux02.img
--original指定克隆源虛擬機
--name指定克隆后的虛擬機名字
--file指定目標虛擬機的虛擬磁盤文件
如果minglinux01虛擬機開機狀態(tài),則提示先關(guān)閉或者暫停虛擬機
[root@minglinux-01 ~] virsh shutdown minglinux01
[root@minglinux-01 ~] virt-clone --original minglinux01 --name minglinux02 --file /kvm_data/minglinux02.img
正在分配 'minglinux02.img' | 10 GB 00:02:37
成功克隆 'minglinux02'斟叼。
[root@minglinux-01 ~] virsh list --all
Id 名稱 狀態(tài)
----------------------------------------------------
- minglinux01 關(guān)閉
- minglinux02 關(guān)閉
[root@minglinux-01 ~] ls /etc/libvirt/qemu/
minglinux01.xml minglinux02.xml networks
#啟動進入minglinux02
[root@minglinux-01 ~] virsh start minglinux02
[root@minglinux-01 ~] virsh console minglinux02
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.162.132 netmask 255.255.255.0 broadcast 192.168.162.255
ether 52:54:00:bf:74:ab txqueuelen 1000 (Ethernet)
RX packets 233 bytes 13766 (13.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 3828 (3.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
十偶惠、快照管理
創(chuàng)建快照 virsh snapshot-create minglinux01
raw格式的虛擬磁盤不支持做快照,qcow2支持
qemu-img info /kvm_data/minglinux01.img //查看minglinux01.img信息朗涩,同時會查看到快照列表
virsh snapshot-list minglinux01 //列出所有快照
virsh snapshot-current minglinux01//查看當前快照版本
ls /var/lib/libvirt/qemu/snapshot/minglinux01//查看所有快照配置文件
virsh snapshot-revert minglinux01 1553268958//恢復指定快照
virsh snapshot-delete minglinux01 1553268958//刪除快照
[root@minglinux-01 ~] virsh snapshot-create minglinux01
已生成域快照 1553268958
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux01.img
image: /kvm_data/minglinux01.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1553268958 0 2019-03-22 23:35:58 00:00:00.000
Format specific information:
compat: 1.1
lazy refcounts: true
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux02.img
image: /kvm_data/minglinux02.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux02.img
image: /kvm_data/minglinux02.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
[root@minglinux-01 ~] virsh snapshot-list minglinux01
名稱 生成時間 狀態(tài)
------------------------------------------------------------
1553268958 2019-03-22 23:35:58 +0800 shutoff
[root@minglinux-01 ~] virsh snapshot-current minglinux01
<domainsnapshot>
<name>1553268958</name>
<state>shutoff</state>
<creationTime>1553268958</creationTime>
···
···
[root@minglinux-01 ~] virsh snapshot-create minglinux01
已生成域快照 1553269577
[root@minglinux-01 ~] virsh snapshot-list minglinux01
名稱 生成時間 狀態(tài)
------------------------------------------------------------
1553268958 2019-03-22 23:35:58 +0800 shutoff
1553269577 2019-03-22 23:46:17 +0800 shutoff
[root@minglinux-01 ~] virsh snapshot-revert minglinux01 1553268958
[root@minglinux-01 ~] virsh snapshot-delete minglinux01 1553268958
已刪除域快照 1553268958
[root@minglinux-01 ~] virsh snapshot-list minglinux01
名稱 生成時間 狀態(tài)
------------------------------------------------------------
1553269577 2019-03-22 23:46:17 +0800 shutoff
#有寫東西不一樣
[root@minglinux-01 ~] du -sh /kvm_data/*
16K /kvm_data/lost+found
1.4G /kvm_data/minglinux01.img
1.3G /kvm_data/minglinux02.img
[root@minglinux-01 ~] ls -lh /kvm_data/minglinux0*
-rw------- 1 root root 11G 3月 22 23:35 /kvm_data/minglinux01.img
-rw------- 1 qemu qemu 1.3G 3月 22 23:39 /kvm_data/minglinux02.img
十一忽孽、磁盤格式
虛擬磁盤常用格式raw、qcow2
qemu-img info /kvm_data/minglinux01.img//查看虛擬磁盤格式
qemu-img create -f raw /kvm_data/minglinux01_2.img 2G//創(chuàng)建2G的raw格式磁盤
把raw格式的磁盤轉(zhuǎn)換為qcow2格式
qemu-img convert -O qcow2 /kvm_data/minglinux01_2.img /kvm_data/minglinux01_2.qcow2
轉(zhuǎn)換后用ls -lth查看磁盤文件的大小,可以看到qcow2文件比較小兄一,raw文件大小和我們指定空間大小一樣是2G厘线。
qcow2用多大就分多大,占用更小空間出革。
raw格式的磁盤性能比qcow2要好造壮,但是raw格式的磁盤無法做快照
給minglinux02轉(zhuǎn)換為raw格式的磁盤
virsh shutdown minglinux02
qemu-img convert -O raw /kvm_data/minglinux02.img /kvm_data/minglinux02_3.raw
virsh edit minglinux02//更改格式和文件路徑
virsh start minglinux02
#創(chuàng)建2G的raw格式磁盤
[root@minglinux-01 ~] qemu-img create -f raw /kvm_data/minglinux01_2.img 2G
Formatting '/kvm_data/minglinux01_2.img', fmt=raw size=2147483648
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux01_2.img
image: /kvm_data/minglinux01_2.img
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
#把raw格式的磁盤轉(zhuǎn)換為qcow2格式
[root@minglinux-01 ~] qemu-img convert -O qcow2 /kvm_data/minglinux01_2.img /kvm_data/minglinux01_2.qcow2
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux01_2.img
image: /kvm_data/minglinux01_2.img
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux01_2.qcow2
image: /kvm_data/minglinux01_2.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
#對比
[root@minglinux-01 ~] ls -lht /kvm_data/
總用量 2.6G
-rw-r--r-- 1 root root 193K 3月 22 23:51 minglinux01_2.qcow2
-rw-r--r-- 1 root root 2.0G 3月 22 23:50 minglinux01_2.img
-rw------- 1 qemu qemu 1.3G 3月 22 23:49 minglinux02.img
-rw------- 1 root root 11G 3月 22 23:47 minglinux01.img
drwx------ 2 root root 16K 3月 22 20:15 lost+found
#給minglinux02轉(zhuǎn)換為raw格式的磁盤
[root@minglinux-01 ~] qemu-img convert -O raw /kvm_data/minglinux02.img /kvm_data/minglinux02_3.raw
[root@minglinux-01 ~] ls -lht /kvm_data/
總用量 3.9G
-rw-r--r-- 1 root root 10G 3月 23 00:11 minglinux02_3.raw
-rw------- 1 root root 1.3G 3月 23 00:09 minglinux02.img
-rw-r--r-- 1 root root 193K 3月 22 23:51 minglinux01_2.qcow2
-rw-r--r-- 1 root root 2.0G 3月 22 23:50 minglinux01_2.img
-rw------- 1 root root 11G 3月 22 23:47 minglinux01.img
drwx------ 2 root root 16K 3月 22 20:15 lost+found
#修改minglinux02配置文件,更改格式和文件路徑
[root@minglinux-01 ~] virsh edit minglinux02
編輯了域 minglinux02 XML 配置骂束。
#修改內(nèi)容如下
33 <driver name='qemu' type='raw'/>
34 <source file='/kvm_data/minglinux02_3.raw'/>
#啟動minglinux02耳璧,可以看到啟動后其虛擬磁盤文件的屬主屬組后變?yōu)閝emu
[root@minglinux-01 ~] ls -l /kvm_data/
總用量 4057272
drwx------ 2 root root 16384 3月 22 20:15 lost+found
-rw-r--r-- 1 root root 2147483648 3月 22 23:50 minglinux01_2.img
-rw-r--r-- 1 root root 197120 3月 22 23:51 minglinux01_2.qcow2
-rw------- 1 root root 10739515904 3月 22 23:47 minglinux01.img
-rw-r--r-- 1 root root 10737418240 3月 23 00:11 minglinux02_3.raw
-rw------- 1 root root 1388707840 3月 23 00:09 minglinux02.img
[root@minglinux-01 ~] virsh start minglinux02
域 minglinux02 已開始
[root@minglinux-01 ~] ls -l /kvm_data/
總用量 4057272
drwx------ 2 root root 16384 3月 22 20:15 lost+found
-rw-r--r-- 1 root root 2147483648 3月 22 23:50 minglinux01_2.img
-rw-r--r-- 1 root root 197120 3月 22 23:51 minglinux01_2.qcow2
-rw------- 1 root root 10739515904 3月 22 23:47 minglinux01.img
-rw-r--r-- 1 qemu qemu 10737418240 3月 23 00:11 minglinux02_3.raw
-rw------- 1 root root 1388707840 3月 23 00:09 minglinux02.img
#給明minginux02創(chuàng)建快照
[root@minglinux-01 ~] virsh snapshot-create minglinux02
錯誤:不支持的配置:存儲類型 vda 不支持磁盤 raw 的內(nèi)部快照
十二、磁盤擴容(raw)
qemu-img resize /kvm_data/minglinux02_3.raw +2G
qemu-img info /kvm_data/minglinux02_3.raw
virsh destroy minglinux02
virsh start minglinux02
virsh console minglinux02
fdisk -l 查看磁盤情況展箱,并分新的分區(qū)
除了對已有磁盤擴容外旨枯,還可以額外增加磁盤
qemu-img create -f raw /kvm_data/minglinux02_2.raw 5G
virsh edit minglinux02 //增加<disk>…</disk>,注意更改source混驰、target召廷、slot
virsh destroy minglinux02
virsh start minglinux02
#給minglinux02機器磁盤擴容
[root@minglinux-01 ~] ls -lh /kvm_data/
總用量 3.9G
drwx------ 2 root root 16K 3月 22 20:15 lost+found
-rw-r--r-- 1 root root 2.0G 3月 22 23:50 minglinux01_2.img
-rw-r--r-- 1 root root 193K 3月 22 23:51 minglinux01_2.qcow2
-rw------- 1 root root 11G 3月 22 23:47 minglinux01.img
-rw-r--r-- 1 qemu qemu 10G 3月 23 00:33 minglinux02_3.raw
-rw------- 1 root root 1.3G 3月 23 00:09 minglinux02.img
[root@minglinux-01 ~] qemu-img resize /kvm_data/minglinux02_3.raw +2G
Image resized.
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux02_3.raw
image: /kvm_data/minglinux02_3.raw
file format: raw
virtual size: 12G (12884901888 bytes)
disk size: 1.3G
#擴容后需重啟進入虛擬機才能生效
[root@minglinux-01 ~] virsh destroy minglinux02
域 minglinux02 被刪除
[root@minglinux-01 ~] virsh start minglinux02
域 minglinux02 已開始
[root@minglinux-01 ~] virsh console minglinux02
連接到域 minglinux02
···
[root@localhost ~]# fdisk -l
磁盤 /dev/vda:12.9 GB, 12884901888 字節(jié),25165824 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x00002d30
設(shè)備 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 4196351 1048576 82 Linux swap / Solaris
/dev/vda3 4196352 20971519 8387584 83 Linux
#新增的2G磁盤空間是不能加現(xiàn)有分區(qū)的账胧,想要利用上這2G空間可以建立新的分區(qū)竞慢,不要把原來的分區(qū)破壞
[root@localhost ~]# fdisk /dev/vda
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中治泥,直到您決定將更改寫入磁盤筹煮。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):p
磁盤 /dev/vda:12.9 GB, 12884901888 字節(jié)居夹,25165824 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x00002d30
設(shè)備 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 4196351 1048576 82 Linux swap / Solaris
/dev/vda3 4196352 20971519 8387584 83 Linux
命令(輸入 m 獲取幫助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已選擇分區(qū) 4
起始 扇區(qū) (20971520-25165823败潦,默認為 20971520):
將使用默認值 20971520
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (20971520-25165823,默認為 25165823):
將使用默認值 25165823
分區(qū) 4 已設(shè)置為 Linux 類型准脂,大小設(shè)為 2 GiB
命令(輸入 m 獲取幫助):p
磁盤 /dev/vda:12.9 GB, 12884901888 字節(jié)劫扒,25165824 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x00002d30
設(shè)備 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 4196351 1048576 82 Linux swap / Solaris
/dev/vda3 4196352 20971519 8387584 83 Linux
/dev/vda4 20971520 25165823 2097152 83 Linux
命令(輸入 m 獲取幫助):q
#磁盤擴容的方式外,還可以使用額外增加磁盤的方式給虛擬機擴容
#創(chuàng)建新的虛擬磁盤
[root@minglinux-01 ~] qemu-img create -f raw /kvm_data/minglinux02_2.raw 5G
Formatting '/kvm_data/minglinux02_2.raw', fmt=raw size=5368709120
[root@minglinux-01 ~] qemu-img info /kvm_data/minglinux02_2.raw
image: /kvm_data/minglinux02_2.raw
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 0
#改配置文件
[root@minglinux-01 ~] virsh edit minglinux02
編輯了域 minglinux02 XML 配置狸膏。
#新增了一組<disk>…</disk>
32 <disk type='file' device='disk'>
33 <driver name='qemu' type='raw'/>
34 <source file='/kvm_data/minglinux02_3.raw'/>
35 <target dev='vda' bus='virtio'/>
36 <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
37 </disk>
38 <disk type='file' device='disk'>
39 <driver name='qemu' type='raw'/>
40 <source file='/kvm_data/minglinux02_2.raw'/>
41 <target dev='vdb' bus='virtio'/>
42 <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
43 </disk>
[root@minglinux-01 ~] virsh destroy minglinux02
域 minglinux02 被刪除
[root@minglinux-01 ~] virsh start minglinux02
域 minglinux02 已開始
[root@minglinux-01 ~] virsh console minglinux02
[root@localhost ~]# fdisk -l #可以看到新增了一塊磁盤/dev/vdb
磁盤 /dev/vda:12.9 GB, 12884901888 字節(jié)沟饥,25165824 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x00002d30
設(shè)備 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 4196351 1048576 82 Linux swap / Solaris
/dev/vda3 4196352 20971519 8387584 83 Linux
磁盤 /dev/vdb:5368 MB, 5368709120 字節(jié),10485760 個扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
十三湾戳、磁盤擴容(qcow2)
qemu-img resize /kvm_data/minglinux01.img +2G
若提示qemu-img: Can't resize an image which has snapshots贤旷,需要刪除快照
qemu-img info /kvm_data/minglinux01.img
virsh destroy minglinux01
virsh start minglinux01
virsh console minglinux01
fdisk -l 查看磁盤情況,并分新的分區(qū)
除了對已有磁盤擴容外砾脑,還可以額外增加磁盤
qemu-img create -f qcow2 /kvm_data/minglinux01_2.img 5G
virsh edit minglinux01 //增加<disk>…</disk>幼驶,注意更改source、target韧衣、slot
virsh destroy minglinux01
virsh start minglinux01
#第一種方法是對磁盤擴容
#minglinux01.img做過快照盅藻,對其進行擴容時會報錯
[root@minglinux-01 ~] qemu-img resize /kvm_data/minglinux01.img +2G
qemu-img: Can't resize an image which has snapshots
qemu-img: This image does not support resize
[root@minglinux-01 ~] virsh snapshot-delete minglinux01 1553269577
已刪除域快照 1553269577
[root@minglinux-01 ~] qemu-img resize /kvm_data/minglinux01.img +2G
Image resized.
#第二種方法是增加磁盤
#其實和raw類型的一樣的购桑,就不多試了
十四、調(diào)整cpu內(nèi)存和網(wǎng)卡
virsh dominfo minglinux01 //查看配置
virsh edit minglinux01//更改如下部分內(nèi)容
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>624288</currentMemory>
<vcpu placement='static' current='1'>2</vcpu>
virsh shutdown minglinux01
virsh start minglinux01
virsh setmem minglinux01 800m//動態(tài)調(diào)整內(nèi)存
virsh dumpxml minglinux01 > /etc/libvirt/qemu/minglinux01.xml//需要把配置寫入到配置文件里
virsh setvcpus minglinux01 2 //動態(tài)調(diào)整cpu數(shù)量
virsh domiflist minglinux01//查看網(wǎng)卡
virsh attach-interface minglinux01 --type bridge --source virbr0//增加一塊新的網(wǎng)卡氏淑,并設(shè)置為nat網(wǎng)絡(luò)模式(virbr0類似vmware的vmnet8)其兴,這里如果寫--source br0,則網(wǎng)絡(luò)模式為橋接
virsh dumpxml minglinux01 > /etc/libvirt/qemu/minglinux01.xml//需要把配置寫入到配置文件里
#查看虛擬機配置
[root@minglinux-01 ~] virsh dominfo minglinux01
Id: -
名稱: minglinux01
UUID: c3abff95-a517-40d3-9053-13e100858e8a
OS 類型: hvm
狀態(tài): 關(guān)閉
CPU: 1
最大內(nèi)存: 1048576 KiB
使用的內(nèi)存: 524288 KiB
持久: 是
自動啟動: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
#改配置文件方式調(diào)整內(nèi)存
[root@minglinux-01 ~] virsh edit minglinux01
#更改如下部分內(nèi)容
···
5 <currentMemory unit='KiB'>624288</currentMemory>
6 <vcpu placement='static' current='2'>2</vcpu>
···
[root@minglinux-01 ~] virsh console minglinux01
連接到域 minglinux01
換碼符為 ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64
localhost login: root
密碼:
Last login: Sat Mar 23 02:05:46 on ttyS0
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 577 84 380 6 112 352
Swap: 1023 0 1023
#直接在線動態(tài)調(diào)整內(nèi)存
[root@minglinux-01 ~] virsh setmem minglinux01 800m
[root@minglinux-01 ~] virsh dominfo minglinux01
Id: 10
名稱: minglinux01
UUID: c3abff95-a517-40d3-9053-13e100858e8a
OS 類型: hvm
狀態(tài): running
CPU: 1
CPU 時間: 62.7s
最大內(nèi)存: 1048576 KiB
使用的內(nèi)存: 819200 KiB
持久: 是
自動啟動: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 767 84 570 6 112 542
Swap: 1023 0 1023
#動態(tài)調(diào)整cpu數(shù)量
[root@minglinux-01 ~] virsh setvcpus minglinux01 2
[root@minglinux-01 ~] virsh dominfo minglinux01
Id: 10
名稱: minglinux01
UUID: c3abff95-a517-40d3-9053-13e100858e8a
OS 類型: hvm
狀態(tài): running
CPU: 2
CPU 時間: 64.0s
最大內(nèi)存: 1048576 KiB
使用的內(nèi)存: 819200 KiB
持久: 是
自動啟動: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
[root@minglinux-01 ~] virsh setvcpus minglinux01 1 #減少不行
錯誤:不支持的配置:failed to find appropriate hotpluggable vcpus to reach the desired target vcpu count
#如下命令把配置寫入到配置文件里讓虛擬機重啟還生效
[root@minglinux-01 ~] virsh dumpxml minglinux01 > /etc/libvirt/qemu/minglinux01.xml
#virsh edit minglinux01看到的內(nèi)容沒有改變夸政,實際上配置文件minglinux01.xml的內(nèi)容已經(jīng)改變了,重啟虛擬機就會加載配置文件中設(shè)定的配置
#查看網(wǎng)卡
[root@minglinux-01 ~] virsh domiflist minglinux01
接口 類型 源 型號 MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:5e:a1:45
#增加一塊新的網(wǎng)卡榴徐,設(shè)置為nat網(wǎng)絡(luò)模式
[root@minglinux-01 ~] virsh attach-interface minglinux01 --type bridge --source virbr0
成功附加接口
[root@minglinux-01 ~] virsh domiflist minglinux01
接口 類型 源 型號 MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:5e:a1:45
vnet1 bridge virbr0 rtl8139 52:54:00:5f:83:e0
#增加一塊新的網(wǎng)卡守问,設(shè)置為橋接模式
[root@minglinux-01 ~] virsh attach-interface minglinux01 --type bridge --source br0
成功附加接口
[root@minglinux-01 ~] virsh domiflist minglinux01
接口 類型 源 型號 MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:5e:a1:45
vnet1 bridge virbr0 rtl8139 52:54:00:5f:83:e0
vnet2 bridge br0 rtl8139 52:54:00:0f:bf:b2
#進入虛擬機查看網(wǎng)卡
[root@localhost ~]# ifconfig
ens9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.105 netmask 255.255.255.0 broadcast 192.168.122.255
inet6 fe80::6ccd:d72b:1815:8830 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:5f:83:e0 txqueuelen 1000 (Ethernet)
RX packets 24 bytes 2429 (2.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 67 bytes 6396 (6.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens10: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.162.133 netmask 255.255.255.0 broadcast 192.168.162.255
inet6 fe80::de66:f443:b986:538d prefixlen 64 scopeid 0x20<link>
ether 52:54:00:0f:bf:b2 txqueuelen 1000 (Ethernet)
RX packets 128 bytes 6456 (6.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13 bytes 1454 (1.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 52:54:00:5e:a1:45 txqueuelen 1000 (Ethernet)
RX packets 5376 bytes 262940 (256.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#ens9是NAT模式,ens10是橋接模式
#當前的修改只保存在了內(nèi)存里坑资,如果想網(wǎng)卡修改永久生效還需要把配置寫入到配置文件中
[root@minglinux-01 ~] virsh dumpxml minglinux01 > /etc/libvirt/qemu/minglinux01.xml
十五耗帕、遷移虛擬機
該方式要確保虛擬機是關(guān)機狀態(tài)
virsh shutdown minglinux01
virsh dumpxml minglinux01 > /etc/libvirt/qemu/minglinux03.xml // 如果是遠程機器,需要把該配置文件拷貝到遠程機器上
virsh domblklist minglinux01 //查看虛擬機磁盤所在目錄
rsync -av /kvm_data/minglinux01.img /kvm_data/minglinux03.img //如果是遷移到遠程袱贮,則需要把該磁盤文件拷貝到遠程機器上
vim /etc/libvirt/qemu/minglinux03.xml //因為是遷移到本機仿便,配置文件用的是minglinux01子機的配置,不改會有沖突攒巍,所以需要修改該文件嗽仪,如果是遠程機器不用修改
修改domname: <name>minglinux03</name>
修改uuid(隨便改一下數(shù)字,位數(shù)不要變)
修改磁盤路徑
virsh define /etc/libvirt/qemu/minglinux03.xml //定義新虛擬機
virsh list --all //會發(fā)現(xiàn)新遷移的minglinux03子機