kvm虛擬機操作相關命令及虛擬機和鏡像密碼修改


虛擬機生命周期管理

1)查看kvm虛擬機狀態
#virsh list --all
2)KVM虛擬機開機
# virsh start oeltest01
3)KVM虛擬機關機或斷電
關機
默認情況下virsh工具不能對linux虛擬機進行關機操作,linux操作系統需要開啟與啟動acpid服務。在安裝KVM linux虛擬機必須配置此服務。
# chkconfig acpid on
# service acpid restart
virsh關機
# virsh shutdown oeltest01
 
強制關閉電源
# virsh destroy wintest01

4)通過配置文件啟動虛擬機
# virsh create /etc/libvirt/qemu/wintest01.xml
 
5)配置開機自啟動虛擬機
# virsh autostart oeltest01
autostart目錄是kvm虛擬機開機自啟動目錄,可以看到該目錄中有KVM配置文件鏈接。
 
6)導出KVM虛擬機配置文件
# virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
KVM虛擬機配置文件可以通過這種方式進行備份。
 


7)添加與刪除KVM虛擬機
刪除kvm虛擬機
# virsh undefine wintest01
說明:該命令只是刪除wintest01的配置文件,並不刪除虛擬磁盤文件。

8)其它virsh命令
掛起服務器
# virsh suspend oeltest01
 
9)恢復服務器
# virsh resume oeltest01

11)創建虛擬機
[root@localhost ~]# virt-install --name=centos1 \ #生成一個虛擬機
--ram 1024 --vcpus=1 \
--disk path=/root/centos1.img,size=10 \
--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \
--graphics vnc,port=5921 --network bridge=br0

12)virt-clone,如果我們要建幾個一樣的虛擬機,這個命令,非常有用!
# virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1
正在克隆 centos1.img | 10.0 GB 00:07

相關參數

autostart      #自動加載指定的一個虛擬機
connect        #重新連接到hypervisor
console        #連接到客戶會話
create         #從一個SML文件創建一個虛擬機
start          #開始一個非活躍的虛擬機
destroy        #刪除一個虛擬機
define         #從一個XML文件定義一個虛擬機
domid          #把一個虛擬機名或UUID轉換為ID
domuuid        #把一個郁悶或ID轉換為UUID
dominfo        #查看虛擬機信息
domstate       #查看虛擬機狀態
domblkstat     #獲取虛擬機設備快狀態
domifstat      #獲取虛擬機網絡接口狀態
dumpxml        #XML中的虛擬機信息
edit           #編輯某個虛擬機的XML文件
list           #列出虛擬機
migrate        #將虛擬機遷移到另一台主機
quit           #退出非交互式終端
reboot         #重新啟動一個虛擬機
resume         #重新恢復一個虛擬機
save           #把一個虛擬機的狀態保存到一個文件
dump           #把一個虛擬機的內核dump到一個文件中以方便分析
shutdown       #關閉一個虛擬機
setmem         #改變內存的分配
setmaxmem      #改變最大內存限制值
suspend        #掛起一個虛擬機
vcpuinfo       #虛擬機的cpu信息
version        #顯示virsh版本

獲取vnc

[root@localhost ~]# virsh vncdisplay 2
127.0.0.1:0

[root@localhost ~]# 

編輯虛擬機配置文件

1)重新定義虛擬機配置文件
通過導出備份的配置文件恢復原KVM虛擬機的定義,並重新定義虛擬機。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml

2)編輯KVM虛擬機配置文件
# virsh edit wintest01
virsh edit將調用vi命令編輯/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通過vi命令進行編輯,修改,保存。
可以但不建議直接通過vi編輯。
# vim /etc/libvirt/qemu/wintest01.xml

通過virsh console進入虛擬機控制台

libguestfs-tools的使用

一、libguestfs-tools安裝

yum -y install libguestfs-tools

二、linux下的使用

1、查看硬盤使用情況

virt-df centos.img

2、列出目錄文件

virt-ls centos.img /

3、將名為domain的虛擬機里的源復制到目的

virt-copy-out -d domain /etc/passwd(源) /tmp(目的) 

4.查看分區相關信息

virt-filesystems -d domain
virt-list-filesystems /file/xx.img
virt-list-partitions /file/xx.img

5.分區掛載

guestmount -a /file/xx.qcow2(raw/qcow2都支持) -m /dev/VolGroup/lv_root --rw /mnt

6.shell的使用

guestfish -d domain(在開機情況下不能使用)

修改kvm虛擬機的root密碼和其他用戶密碼

  1. virsh xxxx shutdown 關掉虛擬機

  2. virt-edit xxx /etc/shadow 文件,

    先生成一個密鑰

    # openssl passwd -1 -salt 'hello' '123456'
    $1$hello$ZwmhCpcG.I1XIfVjdarKc1
    

    virt-edit -d rhel7.0 /etc/shadow,替換掉root的shadow文件

    root:$1$bTPRDWwf$LpjUZmGTHw.hYFccl0/lK.:16804:0:99999:7:::
    更換為
    root:$1$hello$ZwmhCpcG.I1XIfVjdarKc1:16541:0:99999:7:::
    
  3. virsh xxxx start 啟動虛擬機 ,使用新的root密碼登錄,搞定

修改qcow2的密碼

需要安裝

libguestfs-tools

修改/etc/libvirt/qemu.conf

user = "root"
# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "root"

修改密碼

[root@localhost home]# sudo virt-customize -a /root/ubuntu.qcow2  --root-password password:root
[   0.0] Examining the guest ...
[ 100.3] Setting a random seed
[ 101.4] Setting the machine ID in /etc/machine-id
[ 101.6] Setting passwords
[ 126.6] Finishing off
[root@localhost home]# 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM