115.兩種格式磁盤擴容、調整內存和cpu、遷移虛擬機

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子機

相關文章
相關標籤/搜索