1. ホーム
  2. オペレーティングシステム
  3. その他のシステム

KVM仮想マシンの共通コマンド

2022-01-26 06:43:35

1. 仮想マシンの作成

コピーコード
コードは以下の通りです。
[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

2、virshの他の操作

コピーコード
コードは以下の通りです。
[root@localhost /]# virsh start centos1 #仮想マシン起動
[root@localhost /]# virt-viewer centos1 #利用可能な場合、仮想マシンへのグラフィカルなインターフェイス。
[root@localhost ~]# virsh shutdown centos1 #仮想マシンをシャットダウンします。
[root@localhost /]# virsh reboot centos1 #仮想マシンを再始動します。
[root@localhost /]# virsh suspend centos1 # 仮想マシンをサスペンドします。
[root@localhost /]# virsh resume centos1 #仮想マシンをレジュームします。
[root@localhost /]# virsh autostart centos1 #automount virtual machine

virshのパラメータは次のとおりです。
autostart #指定した仮想マシンのいずれかを自動でロードする 
connect #ハイパーバイザーに再接続する 
console #クライアントセッションに接続する 
create #SMLファイルから仮想マシンを作成する 
start #アクティブでない仮想マシンを起動する 
destroy #仮想マシンを削除する 
define #XMLファイルから仮想マシンを定義する 
domid #VM名やUUIDをIDに変換する 
domuuid #うつわやIDをUUIDに変換する 
dominfo #仮想マシンの情報を見る 
domstate #仮想マシンの状態を表示する 
domblkstat #仮想マシンデバイスの高速状態を取得する 
domifstat #Get VM network interface status 
dumpxml #VM の情報を XML で提供 
edit #特定の仮想マシンの XML ファイルを編集する 
list #仮想マシンを一覧表示する 
migrate #仮想マシンを別のホストに移行する 
quit #非対話型ターミナルを終了する 
reboot #仮想マシンをリブートする 
レジューム #仮想マシンをレジュームする 
save #仮想マシンの状態をファイルに保存する 
dump #解析しやすいように仮想マシンのカーネルをファイルにダンプする 
shutdown #仮想マシンをシャットダウンする 
setmem #メモリの割り当てを変更する 
setmaxmem #メモリの最大制限値を変更する 
サスペンド #仮想マシンをハングアップさせる 
vcpuinfo #仮想マシンのcpu情報 
version #VIRSH のバージョンを表示する 


3、virt-clone、我々はいくつかの同一の仮想マシンを構築したい場合は、このコマンドは、非常に便利です。

コピーコード
コードは以下の通りです。
# virt-clone --connect=qemu:///system -o centos1 -n centos3 -f /root/centos3.img #clone centos1
centos1.imgのクローン|10.0 GB 00:07
クローン 'centos3' が正常に作成されました。
libguestfs-tools は、仮想マシン用の管理パッケージで、非常に便利なツールです。
[root@localhost ~]# yum -y install libguestfs-tools #ツールキットをインストールします。

4、ログインせずにミラーディレクトリを表示する

コピーコード
コードは以下の通りです。
[root@localhost ~]# virt-ls centos.img /home #centos.img イメージファイル内の /home ディレクトリを表示します。
タンク

5、ログインせずに、画像ファイルからファイルをコピーする


/{br

コピーコード
コードは以下の通りです。
[root@localhost ~]# virsh list --all #すべての仮想マシン名を表示する
ID 名前 ステータス
----------------------------------------------------
1 Centos1 実行中
2 centos6.5が動作中
- アーチシャットダウン
- arch1 閉じる
- arch2 閉じる
- arch3 閉じる
- arch5 閉じる
- centos3 閉じる
- ウブントゥ 閉じる
- ubuntu1 閉じる
[root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp #centos1 のファイルを tmp 以下にコピーします。


6、仮想マシンのパーティショニングを表示する

コピーコード
コードは以下の通りです。
[root@localhost ~]# virt-filesystems -d centos1
/dev/sda1
/dev/VolGroup/lv_root
[root@localhost ~]# virt-list-partitions /root/centos.img
/dev/sda1
/{br /dev/sda2
[root@localhost ~]# virt-df centos.img
ファイルシステム 1K-ブロック 使用量 使用可能量 %.
centos.img:/dev/sda1 495844 34510 435734 7%。
centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33% ※この数字は、"centos.img "が "lv_root "を意味します。

7、仮想マシンをマウントする

コピーコード
コードは以下の通りです。

[root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb
[root@localhost ~]# cd /mnt/usb/
[root@localhost usb]# ls
bin dev home lib64 media mnt opt root selinux sys usr
boot etc lib lost+found misc net proc sbin srv tmp var

8、kvmで仮想マシンのメモリサイズを変更する

コピーコード
コードは以下の通りです。
[root@nfs ~]# virsh edit vm01 ## vi の直接編集がうまくいかないことに注意。
ブイエムゼロ
df8604c1-dcf3-fa98-420f-6eea7b39c395
1048576 ### 当初は1Gに設定されていたが、現在はこの単位がk
1048576

1.5Gに変更
コピーコード
コードは以下の通りです。
[root@nfs ~]# expr 1536 \* 1024
1572864

[root@nfs ~]# virsh list
ID 名前 状態
----------------------------------
win2003が1台稼働中
3 vm01動作中

[root@nfs ~]# virsh shutdown vm01 ### 設定ファイル変更後、仮想マシンを再起動する必要があるため、まずシャットダウンします。
ドメイン vm01 がシャットダウンされています

[root@nfs ~]# virsh list ### シャットダウンされたことを確認します。
ID 名前 状態
----------------------------------
win2003が1台稼働中

[root@nfs ~]# virsh start vm01 ### 起動します。
ドメイン vm01 起動

[root@nfs ~]# virsh list
ID 名前 状態
----------------------------------
win2003が1台稼働中
3 vm01動作中


マシンのメモリサイズを表示する。
コピーコード
コードは以下の通りです。
[root@vm01 liuxiaojie]# free -m
キャッシュされた使用済み共有バッファの合計
Mem: 1505 618 886 0 29 361
-/+ バッファ/キャッシュ: 227 1277
スワップ: 2000 0 2000

9、仮想マシン(vm01)を削除します。

コピーコード
コードは以下の通りです。
[root@nfs qemu]# virsh undefine vm01
[root@nfs qemu]# rm -f /home/data/vm01.img

10、ドメインを削除する

コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh list --all

 ID 名前 状態
----------------------------------
  1 web01 稼働中 ## 稼働中状態
  - myweb01 シャットオフ
  - マイウェブ03シャットオフ
  - mywin2003 シャットオフ
  - myxpシャットダウン
  - xpシャットオフ
コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh undefine web01 ## 作業中であっても削除可能です!
{
ドメイン web01 が未定義になりました
コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh list

 ID 名前 状態
----------------------------------
  1 web01 実行中

コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh destroy web01
{
ドメイン web01 破壊
コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh list --all ##web01 is no more!

 ID 名前 状態
----------------------------------
  - myweb01 シャットオフ
  - マイウェブ03シャットオフ
  - mywin2003 シャットオフ
  - myxpシャットダウン
  - xpシャットオフ
コピーコード
コードは以下の通りです。
[root@nfs web01]# virsh define web01

エラーが発生しました。ファイル 'web01' を開くのに失敗しました。そのようなファイルやディレクトリはありません