差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:centos6_kvm [2017/01/08 14:50] – [VM 掛上與卸下外部磁碟 qcow2 檔案] jonathan | tech:centos6_kvm [2018/06/03 08:11] (目前版本) – Jonathan Tsai | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== CentOS 6 KVM 命令操作相關 ====== | ||
+ | ===== 列出 VM 清單 ===== | ||
+ | * <code sh>virsh list --all</ | ||
+ | ===== 建立 qcow2 格式的 image ===== | ||
+ | * <code sh> | ||
+ | * 參考網址 - http:// | ||
+ | ===== 建立虛擬網路 ===== | ||
+ | * Exp. 建立 virtbr1 <code sh> | ||
+ | brctl addbr virbr1 | ||
+ | </ | ||
+ | * 參考網址 - https:// | ||
+ | ===== 建立全新的 VM ===== | ||
+ | * Exp. ever-test-1 | ||
+ | virt-install --name ever-test-1 --vcpu 2 --ram 2048 --cdrom / | ||
+ | </ | ||
+ | ==== 透過 image template 建立 VM ===== | ||
+ | * 與建立全新的 VM 語法相似, | ||
+ | virt-install --name kvm-autopack --vcpu 2 --ram 2048 --os-type linux --disk / | ||
+ | </ | ||
+ | * 參考網址 - | ||
+ | * https:// | ||
+ | * http:// | ||
+ | ===== 強制關閉 VM ===== | ||
+ | * Exp. ever-test-1 <code sh> | ||
+ | virsh destroy ever-test-1 | ||
+ | </ | ||
+ | ===== 啟動 VM ===== | ||
+ | * Exp. ever-test-1< | ||
+ | virsh start ever-test-1 | ||
+ | </ | ||
+ | * 參考網址 - [[https:// | ||
+ | |||
+ | ===== 設定 Host 開機自動啟動 VM ===== | ||
+ | * Exp. ever-percona1< | ||
+ | virsh autostart ever-percona1 | ||
+ | </ | ||
+ | [root@HP-ML10G9 ~]# virsh autostart ever-percona1 | ||
+ | Domain ever-percona1 marked as autostarted | ||
+ | </ | ||
+ | * 如果要關閉自動啟動, | ||
+ | virsh autostart ever-percona1 --disable | ||
+ | </ | ||
+ | [root@HP-ML10G9 ~]# virsh autostart ever-percona1 --disable | ||
+ | Domain ever-percona1 unmarked as autostarted | ||
+ | </ | ||
+ | * 如果要查看有哪些 VM 會開機自動啟動, | ||
+ | ls -lt / | ||
+ | </ | ||
+ | [root@HP-ML10G9 ~]# ls -lt / | ||
+ | 總計 0 | ||
+ | lrwxrwxrwx 1 root root 34 2018-01-14 13:59 ever-phplist.xml -> / | ||
+ | : | ||
+ | : | ||
+ | </ | ||
+ | |||
+ | ===== 啟動 VM 並顯示 console ===== | ||
+ | * Exp. ever-test-1< | ||
+ | virsh start ever-test-1 && virsh console ever-test-1 | ||
+ | </ | ||
+ | * 要離開 console 模式可以輸入 CTRL + 5 或 CTRL + ] | ||
+ | < | ||
+ | * 為了讓 guest vm 開機時的過程可以在遠端命令畫面看見, | ||
+ | - 確認 guest vm xml 內定義的 serial Exp. <code sh>virsh edit ever-test-1</ | ||
+ | : | ||
+ | <serial type=' | ||
+ | <target port=' | ||
+ | </ | ||
+ | <console type=' | ||
+ | <target type=' | ||
+ | </ | ||
+ | : | ||
+ | </ | ||
+ | - guest vm 開機時的 kernel 參數增加 console=ttyS0, | ||
+ | : | ||
+ | title CentOS (2.6.32-642.6.1.el6.x86_64) | ||
+ | root (hd0,0) | ||
+ | kernel / | ||
+ | initrd / | ||
+ | : | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== VM 掛上與卸下光碟 ISO 檔案 ===== | ||
+ | * 掛上光碟 ISO 檔 <code sh> | ||
+ | virsh attach-disk ever-test-1 / | ||
+ | </ | ||
+ | * 卸下光碟 ISO 檔 <code sh> | ||
+ | virsh attach-disk ever-test-1 '' | ||
+ | </ | ||
+ | * 參考網址 - http:// | ||
+ | |||
+ | ===== VM 掛上與卸下外部磁碟 qcow2 檔案 ===== | ||
+ | * Exp. 對 VM ever-percona1 掛上 ever-hd-db1.qcow2 磁碟檔 | ||
+ | * 先建立 ever-hd-db1.qcow2< | ||
+ | qemu-img create -f qcow2 -o preallocation=off kvm.30G.qcow2 30G | ||
+ | cp kvm.30G.qcow2 ever-hd-db1.qcow2 | ||
+ | </ | ||
+ | * 立即掛上 vm <code sh> | ||
+ | virsh attach-disk ever-percona1 / | ||
+ | </ | ||
+ | * 立即卸下 vm <code sh> | ||
+ | virsh detach-disk ever-percona1 vdb | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | * 如果要重起後看到掛上的這外部磁碟, | ||
+ | virsh attach-disk --config ever-percona1 / | ||
+ | </ | ||
+ | </ | ||
+ | * 參考網址 - [[https:// | ||
+ | |||
+ | ===== 移除 VM ===== | ||
+ | * 主要是移除 kvm 內這 VM 的定義, 讓該 VM 不會出現在清單內< | ||
+ | * Exp. 要移除 ever-test | ||
+ | - 先關閉 ever-test | ||
+ | - 移除 ever-test <code sh> | ||
+ | virsh undefine ever-test | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | * 如果 VM 之前有建立 snapshot 就會出現錯誤訊息 - Requested operation is not valid: cannot delete inactive domain with 2 snapshots< | ||
+ | [root@xpc-sh67-i7 ~]# virsh undefine kvm-oVirt0 | ||
+ | 錯誤:無法為區域 kvm-oVirt0 取消定義 | ||
+ | 錯誤:Requested operation is not valid: cannot delete inactive domain with 2 snapshots | ||
+ | </ | ||
+ | * 解決方式就是先移除這些 snapshots 語法如下:< | ||
+ | virsh snapshot-list --domain VM_NAME | ||
+ | </ | ||
+ | [root@xpc-sh67-i7 ~]# virsh snapshot-list --domain kvm-oVirt0 | ||
+ | | ||
+ | ------------------------------------------------------------ | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | virsh snapshot-delete --domain VM_NAME --snapshotname SNAPSHOT_NAME | ||
+ | </ | ||
+ | [root@xpc-sh67-i7 ~]# virsh snapshot-delete --domain kvm-oVirt0 --snapshotname 1383751914 | ||
+ | Domain snapshot 1383751914 deleted | ||
+ | |||
+ | [root@xpc-sh67-i7 ~]# virsh snapshot-delete --domain kvm-oVirt0 --snapshotname 1383753206 | ||
+ | Domain snapshot 1383753206 deleted | ||
+ | </ | ||
+ | * 再來就可以移除掉這 VM < | ||
+ | [root@xpc-sh67-i7 ~]# virsh undefine kvm-oVirt0 | ||
+ | 區域 kvm-oVirt0 已經取消定義 | ||
+ | </ | ||
+ | </ | ||
+ | * 參考網址 - https:// | ||
+ | |||
+ | ===== 更改 VM 名稱 ===== | ||
+ | * Exp. 對 VM ever-test-1 改成 ever-esetras | ||
+ | - 先關閉 ever-test-1 | ||
+ | - 複製 vm 定義檔 <code sh> | ||
+ | cd / | ||
+ | virsh dumpxml ever-test-1 > ever-esetras.xml | ||
+ | </ | ||
+ | - 編輯 ever-esetras.xml < | ||
+ | : | ||
+ | < | ||
+ | : | ||
+ | </ | ||
+ | - 移除 ever-test-1 與啟用 ever-esetras< | ||
+ | virsh undefine ever-test-1 | ||
+ | virsh define ever-esetras.xml | ||
+ | virsh start ever-esetras | ||
+ | </ | ||
+ | * 參考網址 - http:// | ||
+ | |||
+ | ===== 其他相關頁面 ===== | ||
+ | {{topic> | ||
+ | |||
+ | {{tag> |