os:xenserver:xe
XCP-ng xe command
xeを利用した各種の制御に関するLink
VM関連の情報(new)
Add VIF to VM
# xe network-list # Get Target Network UUID # xe vm-list # Get target VM's UUID # xe vif-list vm-uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # Check current VIF list. * xe vif-create vm-uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX network-uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX mac=random device=1 # xe vif-create vm-uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX network-uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX mac=random device=2
Add VBD to VM
# xe sr-list # xe vbd-list vm-name-label="VMname" # xe vdi-list uuid=[vdi-uuid] # get Virtual-size: 42949672960 # xe vdi-create sr-uuid=71c6324f-235d-d4f2-7ccc-bc3a3b357913 virtual-size=42949672960 type=system name-label="VMname disk1" # VDIのUUIDが出力されるのでメモする # xe vbd-create device=xvdb mode=RW type=Disk unpluggable=false vdi-uuid=9a5525e3-b074-4f07-89a4-cbb70974cb59 vm-uuid=53241fbf-5564-7a2e-7d13-7870155775bf userdevice=1 unpluggable=true other-config:owner=true # userdeviceを指定しないと、devicenameが入り、FreeBSDでは認識しなくなったので注意
Change Memory size of VM
# xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX memory-static-max=2147483648 # xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX memory-dynamic-max=2147483648 # xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX memory-dynamic-min=2147483648 # xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX memory-static-min=2147483648
Change number of vCPUs
# xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX VCPUs-at-startup=2 # xe vm-param-set uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX VCPUs-max=2
Pool関連
- Pool masterをServerNameなマシンに変える
xe pool-designate-new-master host-uuid=`xe host-list name-label=ServerName --minimal`
- 古いPatchファイルを削除する
for i in `xe patch-list --minimal|tr "," " "`;do xe patch-pool-clean uuid=$i;done
- xe patch-cleanでは、実際にはファイルが削除されない。
- Pool内のVM listをとる
xe vm-list
xe vm-list name-label=VM名
xe vm-list name-label=VM名 --minimal
- PoolにattachされているVDI情報をとる
xe vdi-list
- PoolのUUIDを取る
xe pool-list
- Poolの情報をとる
xe pool-param-list uuid=poolのUUID
- Poolの自動起動を許可する
xe pool-param-set uuid=poolのUUID other-config:auto_poweron=true
- Pool内のVMのPower stateがおかしくなった時のrecover
xe vm-reset-powerstate force=true vm=server名
Server関連
- 特定のServerで動作しているVMを探す
xe vm-list resident-on=`xe host-list name-label=ServerName --minimal` | grep name-label|cut -f9- -d" "
- 起動中のVM一覧
xe vm-list power-state=running
- タスク一覧
xe task-list
- タスクのUUIDが出力される
- タスクのキャンセル
xe task-cancel uuid=タスクのUUID
GuestVM関連
- XenServer上のVM ImageをBackup
- Backupを配置するDirectoryに移動する
- ExportしたいVMのname-labelかUUIDを入手する
xe vm-list
- Exportする
xe vm-export filename=xxxxxxxx.xva name-label="testVM"
- この時、ExportするVMのファイル名に付ける拡張子は
xva
でなければならない
- xvaファイルをImportする
xe vm-import filename=xxxxxxxx.xva
- オプション
preserve=true
を引数として渡すと、元のVMのMAC Addressが保存されるsr-uuid=[宛先 SR UUID]
を引数として渡すと、sr-uuidで渡したUUIDのDiskに保存される
- VMの(XenServer的)管理情報をとる
xe vm-list params=all name-label=VM名
- VMのパラメータ一覧を取る
xe vm-param-list uuid=対象VMのUUID
xe vm-param-get uuid=対象VMのUUID param-name=other-config
- VMにattachされているDisk(VDI)のリストをとる
- VMが利用中のDisk
xe vm-disk-list name-label=VM名
- VMが利用中のDisk(snapshotも含む)
xe vbd-list vm-name-label=VM名
- vbdのリスト
xe vbd-list vm-uuid=VM-UUID
- VDIの管理情報
xe vdi-param-list uuid=VDI-UUID
- SRの情報
xe sr-list name-label=SR名
- SRの情報を再スキャン
xe sr-scan uuid=SRのUUID
- なお、SR等の名前にはASCII文字しか入れないこと。
- CrossPool Migration
- XenServer 6.0以降では、VMのMigrationに、Pool内の縛りが無くなった。
- もちろん、移行元、移行先ともに、6.0以降である事が必須
- 但し、Migrateなので、VMが稼働していなければならない。
- 対象VMには「XenServer Tools」が導入されている必要がある。
xe vm-migrate vm=[対象VM] remote-address=[IP Address remote-username=root remote-password=[Password] [destination-sr-uuid=...]
- VMの起動
xe vm-start uuid=[対象VMのUUID]
xe vm-start name-label="対象VMの名前"
- VMの停止
xe vm-shutdown [force=true] uuid=[対象VMのUUID]
xe vm-shutdown [force=true] name-label="対象VMの名前"
- VMの削除
xe vbd-list vm-uuid=対象VMのUUID params=vdi-uuid device=xvda --minimal xe vdi-destroy uuid=上記で調べたVDI-UUID xe vm-destroy uuid=対象VMのUUID
- UUIDで指定したVMを自動起動ONにする
- この場合、そもそも、Pool側で自動起動が許可されていなければならない。
xe-pool-list xe pool-param-set uuid=PoolのUUID other-config:auto_poweron=true
- これで、当該Poolの自動起動を許可してから以下を実施
xe vm-param-set uuid=対象VMのUUID other-config:auto_poweron=true
- UUIDで指定したVMのコンソールURLを取得(VNC用)
xe console-list vm-uuid=対象VMのUUID
XenServer上のVMのSerial Consoleに接続
要するに、xm consoleをやりたい場合の作業
xe vm-list name-label="VM名"
- 対象のVMのUUIDを取得する
list_domains
- 対象のVMのUUIDから、id番号を取得する
/usr/lib/xen/bin/xenconsole [id]
- (XenServer 6.2まで)
/usr/lib64/xen/bin/xenconsole [id]
- (XenServer 6.2まで)
- xenconsoleコマンドで、idを指定する事で、対象VMのserial consoleにつながる
- 抜けるには Ctrl-]
ただ、NetBSD相手の場合、使い物にならない…。入力が刺さるので。boot optionに -s console=com0してもダメなので、原因は不明。
もしくは、以下
xl list
xl console [id]
抜けるには Ctrl-]
os/xenserver/xe.txt · 最終更新: 2024/02/10 22:50 by 127.0.0.1