KVM操做命令

一、查看KVM虛擬機配置文件

複製代碼
#Kvm虛擬機默認配置文件位置
[root@kvm qemu]# pwd
/etc/libvirt/qemu
[root@kvm qemu]# ll
total 12
-rw------- 1 root root 3863 Nov  6 17:26 CentOS6.5.xml
-rw------- 1 root root 3771 Nov  7 00:57 CentOS6u7.xml
-rw------- 1 root root 3628 Nov  7 02:04 centos.xml
drwx------ 3 root root   40 Nov  7 00:46 networks
複製代碼

二、啓動與關閉node

複製代碼
#顯示正在運行的虛擬機
[root@kvm ~]# virsh list
 Id    Name                           State
----------------------------------------------------
#顯示全部虛擬機 [root@kvm ~]# virsh list --all Id Name State ---------------------------------------------------- - centos shut off - CentOS6.5 shut off - CentOS6u7 shut off #啓動名字爲CentOS6.5的虛擬機 [root@kvm ~]# virsh start CentOS6.5 #關閉名字爲CentOS6.5的虛擬機 [root@kvm ~]# virsh shutdown CentOS6.5 #強制關閉名字爲Centos6.5的虛擬機 [root@kvm ~]# virsh destroy CentOS6.5 #移除名字爲CentOS6.5的虛擬機 [root@kvm ~]# virsh undefine CentOS6.5 #設置CentOS6.5虛擬機開機啓動 [root@kvm ~]# virsh autostart CentOS6.5 #默認狀況下virsh工具不能對linux虛擬機進行關機操做 #linux操做系統須要開啓與啓動acpid服務。在安裝KVM linux虛擬機必須配置此服務。 # yum -y install acpid # /etc/init.d/acpid start
複製代碼

三、經過配置文件啓動虛擬機linux

[root@kvm ~]# virsh create /etc/libvirt/qemu/CentOS6.5.xml

四、其它(掛起,恢復)virsh命令centos

#掛起服務器
[root@kvm qemu]# virsh suspend CentOS6.5
#恢復服務器 [root@kvm qemu]# virsh resume CentOS6.5

五、重命名虛擬機服務器

複製代碼
#中止虛擬機
[root@kvm qemu]# virsh shutdown CentOS6u5

#導出虛擬機的配置文件
[root@kvm qemu]# pwd
/etc/libvirt/qemu
[root@kvm qemu-img]# virsh dumpxml CentOS6u5 > test-CentOS6u5.xml

#更改配置文件 [root@kvm qemu]# sed -i 's/CentOS6u5/test-CentOS6u5/g' test-CentOS6u5.xml #注 能夠不用更改鏡像名
#移除原有的虛擬機 [root@kvm qemu]# virsh undefine CentOS6u5 #加載新建的虛擬機 [root@kvm qemu]# virsh define test-CentOS6u5.xml
#啓動虛擬機 [root@kvm qemu]# virsh start test-CentOS6u5
複製代碼

六、虛擬機建立快照app

複製代碼
#轉換磁盤鏡像文件格式爲qcow2
[root@kvm ~]# virsh shutdown test-CentOS6u5
[root@kvm qemu-img]# qemu-img convert -f raw CentOS6u5.raw -O qcow2 CentOS6u5.raw.qcow2
#快照必定須要qcow2格式才行 
#我這邊重新創建一個虛擬機以qcow2

#建立快照 [root@kvm qemu-img]# virsh snapshot-create CentOS6u5 #查看快照 [root@kvm qemu-img]# virsh snapshot-list CentOS6u5 Name Creation Time State ------------------------------------------------------------ 1479043349 2016-11-13 08:22:29 -0500 shutoff #恢復快照 [root@kvm qemu-img]# virsh snapshot-revert CentOS6u5 1479043349 #刪除快照 [root@kvm qemu-img]# virsh snapshot-delete CentOS6u5 1479043349
複製代碼

2、經常使用命令dom

列出全部的虛擬機ide

virsh list --all

顯示虛擬機信息工具

virsh dominfo kvm-1

顯示虛擬機內存和cpu的使用狀況post

yum install virt-top -y
virt-top

顯示虛擬機分區信息ui

virt-df kvm-1

關閉虛擬機(shutodwn)

virsh shutdown kvm-1

啓動虛擬機

virsh start kvm-1

設置虛擬機(kvm-1)跟隨系統自啓

virsh autostart kvm-1

關閉虛擬及自啓

virsh autostart --disable kvm-1

刪除虛擬機

virsh undefine kvm-1

經過控制窗口登陸虛擬機

virsh console kvm-1

其它

複製代碼
virsh shutdown centos        關閉centos虛擬機
virsh destroy centos            強制關閉centos虛擬機
virsh suspend centos        暫停centos虛擬機
vrish resume centos            恢復centos虛擬機
virsh reboot centos            重啓centos虛擬機
virsh edit centos                編輯centos虛擬機
virsh vncdisplay  centos    vnc顯示 
複製代碼

給虛擬機添加硬盤

添加硬盤(lvm卷)或者USB到虛擬機上

virsh attach-disk kvm-1 /dev/sdb vbd --driver qemu --mode shareable

使用完成以後能夠卸載usb

virsh detach-disk kvm vdb

添加lvm卷,並掛載

複製代碼
[root@sh-kvm-1 ~]# lvcreate -n kvm-1-data -L 50G vg_shkvm1
[root@sh-kvm-1 ~]# virsh attach-disk kvm-1 /dev/vg_shkvm1/kvm-1-data vdb --driver qemu --mode shareable
Disk attached successfully
# 登陸到kvm-1上查看lvm是否已經被掛載
[root@sh-kvm-1 ~]# virsh console kvm-1 # 輸入kvm-1的用戶和密碼
[root@sh-kvm-1-1 ~]# fdisk -l # 查看硬盤掛載狀況

Disk /dev/vda: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00058197

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2            1018       41611    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/vdb: 53.7 GB, 53687091200 bytes  # 新添加的硬盤
16 heads, 63 sectors/track, 104025 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
複製代碼

格式化新添加的vdb,並添加到lvm組中

複製代碼
# 對新添加的硬盤分區
[root@sh-kvm-1-1 ~]# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xf04b6807.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m  # 查看幫助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
Command (m for help): n  #添加一個分區
Command action
   e   extended
   p   primary partition (1-4)
p  #選擇添加一個擴展分區
Partition number (1-4):
Value out of range.
Partition number (1-4): 1
First cylinder (1-104025, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-104025, default 104025):
Using default value 104025

Command (m for help): t  #改變分區的格式
Selected partition 1
Hex code (type L to list codes): 8e  #改爲lvm
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w  # 保存更改
root@sh-kvm-1-1 ~]# mkfs.ext4 /dev/vdb1  # 格式化分區
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107142 blocks
655357 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
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

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@sh-kvm-1-1 ~]# pvc reate /dev/vdb1   # 建立pv
vdb   vdb1
[root@sh-kvm-1-1 ~]# vgextend VolGroup /dev/vdb  # 擴展lvm vg
vdb   vdb1
[root@sh-kvm-1-1 ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   2   2   0 wz--n- 69.50g 50.00g
# 從上面能看出,新添加的 已經加到lvm組中
複製代碼

改變虛擬機的參數

經過命令行更改建立以後虛擬機的內存,cpu等信息

更改內存

複製代碼
# 1. 查看虛擬機當前內存
[root@sh-kvm-1 ~]# virsh dominfo kvm-1 | grep memory
Max memory:     4194304 KiB
Used memory:    4194304 KiB

# 二、動態設置內存爲512MB,內存減小
virsh setmem kvm-1 524288
# 注意單位必須是KB

# 三、查看內存變化
# virsh dominfo kvm-1 | grep memory
Max memory: 14194304 KiB
Used memory: 524288 kiB

# 四、內存增長
virsh shutdown kvm-1
virsh edit kvm-1  # 直接更改memory
virsh create /etc/libvirt/demu/kvm-1/xml
# 以後操做1,2,3步驟增長內存
複製代碼

更改CPU

須要修改配置文件,所以須要中止虛擬機

virsh shutdown kvm-1
virsh edit kvm-1
#  <vcpu>2</vcpu>  # 4 > 2
virsh create /etc/libvirt/demu/kvm-1/xml

硬盤擴容

複製代碼
1. Create a 10-GB non-sparse file:
# dd if=/dev/zero of=/vm-images/vm1-add.img bs=1M count=10240
2. Shutdown the VM:
 # virsh shutdown vm1
3. Add an extra entry for ‘disk’ in the VM's XML file in /etc/libvirt/qemu. You can look copy & paste the entry for your mail storage device and just change the target and address tags. For example:
 # virsh edit vm1
 <disk type='file' device='disk'>
 <driver name='qemu' type='raw' cache='none' io='threads'/>
 <source file='/vm-images/vm1.img'/>
 <target dev='vda' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
 </disk>
 Add:
 <disk type='file' device='disk'>
 <driver name='qemu' type='raw' cache='none' io='threads'/>
 <source file='/vm-images/vm1-add.img'/>
 <target dev='vdb' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
 </disk>
 # 這裏建議使用上面的添加硬盤的方式添加
複製代碼

刪除虛擬機

第一步,停掉虛擬機

virsh shutdown kvm-1

第二步

virsh destroy kvm-1

第三步

virsh undefine kvm-1

第四步

rm /dev/vg_shkvm1/kvm-1  # 不建議刪除硬盤
相關文章
相關標籤/搜索