virsh 既有命令行模式,也有交互模式,在命令行直接輸入 virsh 就進入交互模式, virsh 后面跟命令參數,則是命令行模式;
查網橋命令
[root@zxw6 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c295c6c9e no ens33
virbr0 8000.52540005d291 yes virbr0-nic
(1)基礎操作 --- 命令行下管理虛擬機
語法結構:
virsh <command> <domain-id> [OPTIONS]
help 列出命令下的所有參數
help list 列出 list 命令下的參數
幫助菜單
(2)除了這些簡單命令,實際在 virsh 形式下還有更多的命令:
virsh help 打印幫助
virsh attach-device 從一個 XML 文件附加裝置
virsh attach-disk 附加磁盤設備
virsh attach-interface 獲得網絡界面
virsh destroy 刪除一個域
virsh detach-device 從一個 XML 文件分離設備
virsh detach-disk 分離磁盤設備
virsh detach-interface 分離網絡界面
virsh define 回復虛擬機
virsh undefine 刪除一個虛機域
virsh list 列出當前宿主機上處於運行狀態的虛擬機
virsh list --all 列出當前宿主機上所有的虛擬機
virsh start vm1 (虛擬機name) 開啟某一台虛擬機
virsh shutdown vm1 (虛擬機name) 正常關閉一台虛擬機
virsh destroy vm1 強制關閉某一台虛擬機
virsh autostart vm1 開機自啟動虛擬機vm1
virsh autostart --disable vm1 關閉開機自啟動
virsh edit vm1 編輯某個虛擬機的配置文件
virsh pool-list 列出存儲池
虛擬機保存路徑
[root@zxw6 network-scripts]# cd /etc/libvirt/qemu
[root@zxw6 qemu]# ls
autostart centos7.0.xml networks
命令行下創建 && 管理虛擬機
Virt-install:命令行下創建虛擬機的命令,不過在它后面需要跟上很多的參數
--name: 虛擬機的名字。
--disk Location: 磁盤映像的位置。
--graphics : 怎樣連接 VM ,通常是 SPICE 。
--vcpu : 虛擬 CPU 的數量。
--ram : 以兆字節計算的已分配內存大小。
--location : 指定安裝源路徑
--network : 指定虛擬網絡,通常是 virbr0 或者自己設定的 br0
第一步:創建磁盤管理
qemu-img create -f qcow2 -o size=3G /var/lib/libvirt/images/zxw.qcow2
第二步:下載
[root@zxw6 images]# yum install virt-install -y
第三步:創建
[root@zxw6 images]# virt-install --name=zxw --disk path=/var/lib/libvirt/images/zxw.qcow2 --ram=1024 --vcpu=1 --graphics spice --location=/var/lib/libvirt/images/CentOS-7-x86_64-DVD-1611.iso --network=bridge=br0
WARNING 需要圖形顯示,但未設置 DISPLAY。不能運行 virt-viewer。
WARNING 沒有控制台用於啟動客戶機,默認為 --wait -1
開始安裝......
搜索文件 .treeinfo...... | 366 B 00:00
搜索文件 vmlinuz...... | 5.1 MB 00:00
搜索文件 initrd.img...... | 41 MB 00:01
創建域...... | 0 B 00:00
ERROR unsupported format character '奠(0xffffffe7) at index 47
域安裝好像沒有成功。
如果是這樣,可以運行下列命令重啟您的域:
virsh --connect qemu:///system start zxw
否則,請重新開始安裝。
第四步進入圖形化安裝
注:以此安裝操作之后,會在桌面顯示一個 virtviewer ,進入到安裝步驟
刪除一個虛擬機
[root@zxw6 qemu]# virsh undefine zxw
域 zxw 已經被取消定義
[root@zxw6 qemu]# ls
autostart centos7.0.xml networks
回復一個虛擬機
[root@zxw6 ~]# virsh define zxw.xml
定義域 zxw(從 zxw.xml)
[root@zxw6 ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
1 centos7.0 running
- zxw 關閉
克隆一個虛機:
virt-clone -o vm2 -n vm4 -f /var/lib/libvirt/images/vm4.qcow2
[root@zxw6 images]# virt-clone -o centos7.0 -n zxw -f /var/lib/libvirt/images/zxw.qcow2
四、KVM 通過virsh console連入虛擬機
新安裝一台虛擬機后,是無法通過virsh console 命令連入虛擬機中的,這時我們需要開啟虛擬機的console功能。
1、centos7以下,及其他情況
(1)添加ttyS0的許可,允許root登陸
[root@localhost ~]# echo "ttyS0" >> /etc/securetty
(2)編輯/etc/grub.conf中加入console=ttyS0
(3)編輯/etc/inittab,在最后一行加入內容:S0:12345:respawn:/sbin/agetty ttyS0 115200
(4)重啟服務器
reboot
(5)宿主機上測試
virsh console vm-name
(6)退出console連接的虛擬機li
按 ctrl+] 組合鍵退出virsh console