28.12 磁盤擴容(raw)linux
28.13 磁盤擴容(qcow2)vim
28.14 調整cpu內存和網卡安全
28.15 遷移虛擬機網絡
28.12 磁盤擴容(raw)app
針對一塊已經存在的盤進行增長容量dom
1.qemu-img resize /kvm_data/aminglinux02_3.raw +2Goop
2.qemu-img info /kvm_data/aminglinux02_3.rawui
3.virsh destroy aminglinux02orm
4.virsh start aminglinux02xml
5.virsh console aminglinux02
6.fdisk -l 查看磁盤狀況,並分新的分區
#如何利用上增長的2G空間,給他放到/dev/vda1裏面去。能夠從新分區,就是增長一個分區(原先的分區不要破壞,直接加上這2G空間)fisk /dev/sda而後按n,增長一個
7.除了對已有磁盤擴容外,還能夠額外增長磁盤 #針對於標準分區的
qemu-img create -f raw /kvm_data/aminglinux02_2.raw 5G
virsh edit aminglinux02 //增長<disk>…</disk>,注意更改source、target、slot
virsh destroy aminglinux02
virsh start aminglinux02
實例:
[root@axinlinux-02 ~]# cd /kvm_data/
[root@axinlinux-02 kvm_data]# ls
aminglinux01_2.img aminglinux01_2.qcow2 aminglinux01.img aminglinux02_3.raw aminglinux02.img lost+found
[root@axinlinux-02 kvm_data]# qemu-img resize /kvm_data/aminglinux02_3.raw +2G #給這塊磁盤加2G
Image resized.
[root@axinlinux-02 kvm_data]# qemu-img info /kvm_data/aminglinux02_3.raw #查看一下這塊磁盤
image: /kvm_data/aminglinux02_3.raw
file format: raw
virtual size: 12G (12884901888 bytes)
disk size: 1.2G
[root@axinlinux-02 kvm_data]# virsh start aminglinux02 #開啓
域 aminglinux02 已開始
[root@axinlinux-02 kvm_data]# virsh console aminglinux02 #進入
[root@localhost ~]# fdisk -l #進入查看一下分區磁盤大小。由於阿鑫是重啓後加的2G(虛擬機處於關機狀態),因此這裏直接顯示了加2G空間以後的。正常加完空間,須要重啓一下,先shutdown在start
磁盤 /dev/vda:12.9 GB, 12884901888 字節,25165824 個扇區 #此時變成了12G
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000f3221
設備 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
[root@localhost ~]# fdisk /dev/vda #分區,將這2G的空間分區分進去
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):n #按 n ,增長一個分區
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p #增長一個主分區
已選擇分區 4
起始 扇區 (20971520-25165823,默認爲 20971520): #默認就是從開頭開始的
將使用默認值 20971520
Last 扇區, +扇區 or +size{K,M,G} (20971520-25165823,默認爲 25165823): #在結尾結束的
將使用默認值 25165823
分區 4 已設置爲 Linux 類型,大小設爲 2 GiB #默認就分了這2G
命令(輸入 m 獲取幫助):p #最後再查看一些分區
磁盤 /dev/vda:12.9 GB, 12884901888 字節,25165824 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000f3221
設備 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 #咱們剛剛分進去的
最後可按 w ,保存
以上增長分區,若是是lvm格式的。我麼是能夠增長邏輯捲來實現擴容。那標準分區的話,無法擴容,只能從新分區
[root@axinlinux-02 kvm_data]# qemu-img create -f raw /kvm_data/aminglinux02_2.raw 5G #回到宿主機,增長一塊新的磁盤
Formatting '/kvm_data/aminglinux02_2.raw', fmt=raw size=5368709120
[root@axinlinux-02 kvm_data]# qemu-img info aminglinux02_2.raw #查看
image: aminglinux02_2.raw
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 0
[root@axinlinux-02 kvm_data]# virsh edit aminglinux02 #編輯02的配置文件
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/kvm_data/aminglinux02_3.raw'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='disk'> #複製上面的內容,再從新修改一下
<driver name='qemu' type='raw'/>
<source file='/kvm_data/aminglinux02_2.raw'/> #這裏改成上面新加磁盤的名字
<target dev='vdb' bus='virtio'/> #這裏改成vdb
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> #這裏的數字要跟上面的數字區分開
</disk>
[root@axinlinux-02 kvm_data]# virsh destroy aminglinux02 #關閉02.也能夠shutdown
域 aminglinux02 被刪除
[root@axinlinux-02 kvm_data]# virsh start aminglinux02 #從新開啓02
域 aminglinux02 已開始
[root@axinlinux-02 kvm_data]# virsh console aminglinux02 #進入02
鏈接到域 aminglinux02
換碼符爲 ^] #此處按空格
CentOS Linux 7 (Core)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
localhost login: root
密碼:
Last login: Tue Jan 8 23:44:40 on ttyS0
[root@localhost ~]# fdisk -l #查看分區
磁盤 /dev/vda:12.9 GB, 12884901888 字節,25165824 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000f3221
設備 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 字節,10485760 個扇區 #看這是否是多了一塊磁盤。能夠針對這塊磁盤分區、掛載
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
以上是,標準分區下,若是利用加進去的磁盤
可是在生產環境中,不少公司用的是雲主機。當咱們磁盤不夠的時候,都是再買一塊雲盤。相似於你增長了一塊盤,咱們能夠分區、掛載就能夠了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.13 磁盤擴容(qcow2)
1.qemu-img resize /kvm_data/aminglinux01.img +2G
若提示qemu-img: Can't resize an image which has snapshots,須要刪除快照
2.qemu-img info /kvm_data/aminglinux01.img
3.virsh destroy aminglinux01
4.virsh start aminglinux01
5.virsh console aminglinux01
6.fdisk -l 查看磁盤狀況,並分新的分區
除了對已有磁盤擴容外(以上),還能夠額外增長磁盤(如下)
1.qemu-img create -f qcow2 /kvm_data/aminglinux01_2.img 5G
2.virsh edit aminglinux01 //增長<disk>…</disk>,注意更改source、target、slot
3.virsh destroy aminglinux01
4.virsh start aminglinux01
實例:
[root@axinlinux-02 kvm_data]# qemu-img resize /kvm_data/aminglinux01.img +2G #會報錯要刪除快照
qemu-img: Can't resize an image which has snapshots
qemu-img: This image does not support resize
[root@axinlinux-02 kvm_data]# virsh snapshot-list aminglinux01 #查一下01的快照
名稱 生成時間 狀態
------------------------------------------------------------
1546788751 2019-01-06 23:32:31 +0800 shutoff
1546789865 2019-01-06 23:51:05 +0800 shutoff
[root@axinlinux-02 kvm_data]# virsh snapshot-delete aminglinux01 1546788751 #刪除01的快照
已刪除域快照 1546788751
[root@axinlinux-02 kvm_data]# virsh snapshot-delete aminglinux01 1546789865 #刪除01的快照
已刪除域快照 1546789865
[root@axinlinux-02 kvm_data]# qemu-img resize /kvm_data/aminglinux01.img +2G #給01擴容2G
Image resized.
接下來跟raw擴容分區同樣了。
[root@axinlinux-02 kvm_data]# virsh start aminglinux01 #開啓01
域 aminglinux01 已開始
[root@axinlinux-02 kvm_data]# virsh list
Id 名稱 狀態
----------------------------------------------------
1 aminglinux01 running
[root@axinlinux-02 kvm_data]# virsh console aminglinux01 #進入01
[root@localhost ~]# fdisk -l #查看一下分區
[root@localhost ~]# fdisk /dev/vda #開始分區
命令(輸入 m 獲取幫助):n #按 n 增長一個分區
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p #按 p 增長一個主分區
以上磁盤擴容方式完成
除了擴容,還能夠直接增長一塊新的磁盤,方式跟raw的同樣
之後若是有這樣的需求,建議字節增長一塊新的磁盤的方式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.14 調整cpu內存和網卡
壹.修改配置文件的方式去調整內存和CPU:
1.virsh dominfo aminglinux01 //查看配置
2.virsh edit aminglinux01//更改以下部份內容
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>524288</currentMemory>
<vcpu placement='static' current='1'>2</vcpu>
3.virsh shutdown aminglinux01
4.virsh start aminglinux01
#此時再去查看就是更改以後的配置了
貳.在線調整,不須要重啓(動態的):
1.virsh setmem aminglinux01 800m//動態調整內存 #也能夠減少內存
2.virsh dumpxml aminglinux01 > /etc/libvirt/qemu/aminglinux01.xml//須要把配置寫入到配置文件裏
3.virsh setvcpus aminglinux01 2 //動態調整cpu數量 #不能夠減少CPU數量
叄.增長網卡:
1.virsh domiflist aminglinux01//查看網卡
3.virsh attach-interface aminglinux01 --type bridge --source virbr0//增長一塊新的網卡,並設置爲nat網絡模式(virbr0相似vmware的vmnet8),這裏若是寫--source br0,則網絡模式爲橋接
4.virsh dumpxml aminglinux01 > /etc/libvirt/qemu/aminglinux01.xml//須要把配置寫入到配置文件裏
注意:以上動態的調整CPU、內存、網卡,都須要重定向到配置文件,否則不會生效。 因此,咱們能夠用第一種方式,直接去編輯配置文件
實例:
[root@axinlinux-02 kvm_data]# virsh dominfo aminglinux01 #若是想看詳細的,能夠看他的配置文件。以下條命令
Id: 1
名稱: aminglinux01
UUID: 79005f12-8ccd-4fe4-bb64-b98b2be80cd2
OS 類型: hvm
狀態: running
CPU: 1
CPU 時間: 38.4s
最大內存: 1048576 KiB
使用的內存: 524288 KiB
持久: 是
自動啓動: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
[root@axinlinux-02 kvm_data]# virsh edit aminglinux01 #在這也能夠看他的詳細的配置文件
<domain type='kvm'>
<name>aminglinux01</name>
<uuid>79005f12-8ccd-4fe4-bb64-b98b2be80cd2</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>624288</currentMemory> #好比咱們把內存512m改爲612m
<vcpu placement='static' current='2'>2</vcpu> #好比咱們把cpu使用核數改爲2核
<os>
[root@axinlinux-02 kvm_data]# virsh setmem aminglinux01 800m #動態的調整內存
[root@axinlinux-02 kvm_data]# virsh console aminglinux01 #進去01
鏈接到域 aminglinux01
換碼符爲 ^]
[root@localhost ~]# free -h #檢查調整後的內存
total used free shared buff/cache available
Mem: 768M 85M 572M 6.5M 110M 543M
Swap: 1.0G 0B 1.0G
[root@axinlinux-02 kvm_data]# virsh setvcpus aminglinux01 1 #動態的減小CPU是不支持的
錯誤:不支持的配置:failed to find appropriate hotpluggable vcpus to reach the desired target vcpu count
[root@axinlinux-02 kvm_data]# virsh setvcpus aminglinux01 2 #動態的增長或等同於原先的數量是能夠的
[root@axinlinux-02 kvm_data]# virsh setmem aminglinux01 500m #減小內存是能夠的
[root@axinlinux-02 kvm_data]# virsh dominfo aminglinux01 #查看一下
Id: 2
名稱: aminglinux01
UUID: 79005f12-8ccd-4fe4-bb64-b98b2be80cd2
OS 類型: hvm
狀態: running
CPU: 2
CPU 時間: 42.8s
最大內存: 1048576 KiB
使用的內存: 512000 KiB
持久: 是
自動啓動: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
生產環境中不多減小他的配置,大部分是增長配置
[root@axinlinux-02 kvm_data]# virsh dumpxml aminglinux02 > /etc/libvirt/qemu/aminglinux01.xml #此處須要注意的是,咱們在動態的調整完配置之後,要重定向一下,就是保存到配置文件裏。由於目前仍是在內存裏
[root@axinlinux-02 kvm_data]# vim /etc/libvirt/qemu/aminglinux01.xml #完成以後,咱們在檢查一下配置文件。此時配置文件是已經修改了。
[root@axinlinux-02 kvm_data]# virsh edit aminglinux01 #可是咱們以這種方式查看配置文件,他仍是以前的數據,並無修改。由於他是在內存裏調用的,因此是以前的數據。咱們shuntdowm再start以後就會使調整總以後的了
[root@axinlinux-02 kvm_data]# virsh attach-interface aminglinux01 --type bridge --source virbr0 #增長一塊網卡,source爲橋接到那一塊網卡上
[root@axinlinux-02 kvm_data]# virsh domiflist aminglinux01 #再來查看,就多了一塊。橋接到了virbr0上去了
接口 類型 源 型號 MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:05:d6:07
vnet1 bridge virbr0 rtl8139 52:54:00:dd:d0:2b
[root@axinlinux-02 kvm_data]# virsh attach-interface aminglinux01 --type bridge --source br0 #也能夠指定橋接到br0上
成功附加接口
[root@axinlinux-02 kvm_data]# virsh domiflist aminglinux01
接口 類型 源 型號 MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:05:d6:07 #這兩個br0至關因而vmware裏面的橋接模式
vnet1 bridge virbr0 rtl8139 52:54:00:dd:d0:2b #這個virbr0至關因而vmware裏面的NAT模式
vnet2 bridge br0 rtl8139 52:54:00:fe:07:85
[root@axinlinux-02 kvm_data]# virsh console aminglinux01 #咱們進去查看一下網卡
鏈接到域 aminglinux01
換碼符爲 ^]
[root@localhost ~]# ifconfig #他已經動態的獲取了IP。並且已經不是br什麼什麼了,而是ens什麼什麼
ens8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.7 netmask 255.255.255.0 broadcast 192.168.122.255 #這個就是NAT
inet6 fe80::4b05:cf1c:da77:73c2 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:dd:d0:2b txqueuelen 1000 (Ethernet)
RX packets 70 bytes 5813 (5.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 77 bytes 7000 (6.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.208.138 netmask 255.255.255.0 broadcast 192.168.208.255 #這個就是橋接
inet6 fe80::fea8:51ce:f27:cdd6 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:fe:07:85 txqueuelen 1000 (Ethernet)
RX packets 377 bytes 18737 (18.2 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:05:d6:07 txqueuelen 1000 (Ethernet)
RX packets 7893 bytes 414062 (404.3 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 1 (Local Loopback)
RX packets 452 bytes 39320 (38.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 452 bytes 39320 (38.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@axinlinux-02 kvm_data]# virsh dumpxml aminglinux01 > /etc/libvirt/qemu/aminglinux01.xml #此時配置依然在內存裏,想要生效,也是要重定向到配置文件裏去
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.15 遷移虛擬機
遷移就是從這一臺到另外一臺,本機叫克隆
其實就是把.img文件或.raw拷貝到遠程機器上去。還要把配置文件.xml文件拷貝到遠程上去,而後再定義一下(define,就是可以virsh list出來)
該方式要確保虛擬機是關機狀態
1.virsh shutdown aminglinux01
2.virsh dumpxml aminglinux01 > /etc/libvirt/qemu/aminglinux03.xml // 若是是遠程機器,須要把該配置文件拷貝到遠程機器上
3.virsh domblklist aminglinux01 //查看虛擬機磁盤所在目錄
4.rsync -av /kvm_data/aminglinux01.img /kvm_data/aminglinux03.img //若是是遷移到遠程,則須要把該磁盤文件拷貝到遠程機器上
5.vi /etc/libvirt/qemu/aminglinux03.xml //由於是遷移到本機,配置文件用的是aminglinux01子機的配置,不改會有衝突,因此須要修改該文件,若是是遠程機器不用修改
修改domname: <name>aminglinux03</name>
修改uuid(隨便改一下數字,位數不要變)
修改磁盤路徑
6.virsh define /etc/libvirt/qemu/aminglinux03.xml //定義新虛擬機
7.virsh list --all //會發現新遷移的aminglinux03子機