28.12 磁盘扩容(raw) 28.13 磁盘扩容(qcow2) 28.14 调整cpu内存和网卡 28.15 迁移虚拟机

28.12 磁盘扩容(raw)linux

28.13 磁盘扩容(qcow2)vim

28.14 调整cpu内存和网卡安全

28.15 迁移虚拟机bash

 

 

 

28.12 磁盘扩容(raw)网络

 

 

 

针对一块已经存在的盘进行增长容量app

1.qemu-img resize /kvm_data/aminglinux02_3.raw +2Gdom

2.qemu-img info /kvm_data/aminglinux02_3.rawide

3.virsh destroy aminglinux02oop

4.virsh start aminglinux02ui

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-01 ~]# cd /kvm_data/

[root@axinlinux-01 kvm_data]# ls

aminglinux01_2.img  aminglinux01.img  aminglinux02_3.raw  aminglinux02.img  lost+found

[root@axinlinux-01 kvm_data]# qemu-img resize /kvm_data/aminglinux02_3.raw +2G #给这块磁盘加2G

Image resized.

[root@axinlinux-01 kvm_data]# qemu-img info /kvm_data/aminglinux02_3.raw #查看一下这块磁盘

[root@axinlinux-01 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: 2.6G

[root@axinlinux-01 kvm_data]# virsh start aminglinux02 #开启

域 aminglinux02 已开始

[root@axinlinux-01 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-01 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-01 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-01 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-01 kvm_data]# virsh destroy aminglinux02 #关闭02.也能够shutdown

域 aminglinux02 被删除

 

[root@axinlinux-01 kvm_data]# virsh start aminglinux02 #从新开启02

域 aminglinux02 已开始

 

[root@axinlinux-01 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-01 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-01 kvm_data]# virsh snapshot-list aminglinux01 #查一下01的快照

名称               生成时间              状态
------------------------------------------------------------
 1561629728           2019-06-27 18:02:08 +0800 shutoff
 1561630057           2019-06-27 18:07:37 +0800 shutoff

[root@axinlinux-01 kvm_data]# virsh snapshot-delete aminglinux01  1561629728 #删除01的快照

已删除域快照 1561629728

[root@axinlinux-01 kvm_data]# virsh snapshot-delete aminglinux01  1561630057 #删除01的快照

已删除域快照 1561630057

[root@axinlinux-01 kvm_data]# qemu-img resize /kvm_data/aminglinux01.img +2G #给01扩容2G

Image resized.

接下来跟raw扩容分区同样了。

[root@axinlinux-01 kvm_data]# virsh start aminglinux01 #开启01

域 aminglinux01 已开始

 

[root@axinlinux-01 kvm_data]# virsh list

Id    名称                         状态
----------------------------------------------------
 9     aminglinux02                   running
 10    aminglinux01                   running

 

[root@axinlinux-01 kvm_data]# virsh console aminglinux01 #进入01

[root@localhost ~]# fdisk -l #查看一下分区

Disk /dev/vda: 12.9 GB, 12884901888 bytes, 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00073e2d

   Device 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 #开始分区

命令(输入 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-01 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-01 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>

 

 

<domain type='kvm'>
  <name>aminglinux01</name>
  <uuid>ea3fd5d6-52fd-4764-8a2e-ab8b8ba38399</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>624288</currentMemory>
  <vcpu placement='static'>2</vcpu>按照上面的改完,保存完会变回原来的文件。
 

[root@axinlinux-02 kvm_data]# virsh setmem aminglinux01 800m #动态的调整内存

 

[root@axinlinux-01 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-01 kvm_data]# virsh setvcpus aminglinux01 2 #动态的增长或等同于原先的数量是能够的

 

[root@axinlinux-01 kvm_data]# virsh setmem aminglinux01 500m #减小内存是能够的(减到500)

 

[root@axinlinux-01 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-01 kvm_data]# virsh dumpxml aminglinux02 > /etc/libvirt/qemu/aminglinux01.xml #此处须要注意的是,咱们在动态的调整完配置之后,要重定向一下,就是保存到配置文件里。由于目前仍是在内存里

[root@axinlinux-01 kvm_data]# vim /etc/libvirt/qemu/aminglinux01.xml #完成以后,咱们在检查一下配置文件。此时配置文件是已经修改了。

[root@axinlinux-01 kvm_data]# virsh edit aminglinux01 #可是咱们以这种方式查看配置文件,他仍是以前的数据,并无修改。由于他是在内存里调用的,因此是以前的数据。咱们shuntdowm再start以后就会使调整总以后的了

[root@axinlinux-01 kvm_data]# virsh attach-interface aminglinux01 --type bridge --source virbr0 #增长一块网卡,source为桥接到那一块网卡上

[root@axinlinux-01 kvm_data]# virsh domiflist aminglinux01 #再来查看,就多了一块。桥接到了virbr0上去了
 

接口     类型     源        型号      MAC
-------------------------------------------------------
vnet1      bridge     br0        virtio      52:54:00:b1:0e:fb
vnet2      bridge     virbr0     rtl8139     52:54:00:dd:91:b8

[root@axinlinux-01 kvm_data]# virsh attach-interface aminglinux01 --type bridge --source br0 #也能够指定桥接到br0上

成功附加接口

 

[root@axinlinux-01 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-01 kvm_data]# virsh console aminglinux01 #咱们进去查看一下网卡

链接到域 aminglinux01

换码符为 ^]

[root@localhost ~]# ifconfig #他已经动态的获取了IP。并且已经不是br什么什么了,而是ens什么什么

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:b1:0e:fb brd ff:ff:ff:ff:ff:ff
3: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:dd:91:b8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.166/24 brd 192.168.122.255 scope global noprefixroute dynamic ens8
       valid_lft 3443sec preferred_lft 3443sec
    inet6 fe80::1ce2:7a13:403:b333/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:7c:41:91 brd ff:ff:ff:ff:ff:ff
    inet 192.168.193.163/24 brd 192.168.193.255 scope global noprefixroute dynamic ens9
       valid_lft 1712sec preferred_lft 1712sec
    inet6 fe80::36fe:4ee2:3d5:2cc0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

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-01 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子机

相关文章
相关标签/搜索