転載・引用について

ユーザ用ツール

サイト用ツール


os:xenserver:xe

差分

このページの2つのバージョン間の差分を表示します。


os:xenserver:xe [2024/02/10 22:50] (現在) – 作成 - 外部編集 127.0.0.1
行 1: 行 1:
 +====== XCP-ng xe command ======
 +
 +xeを利用した各種の制御に関するLink
 +  * [[http://d.hatena.ne.jp/eth0jp/20111224/1324701783]]
 +
 +===== VM関連の情報(new) =====
 +
 +=== Add VIF to VM ===
 +<code>
 +# 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
 +</code>
 +
 +=== Add VBD to VM ===
 +<code>
 +# 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では認識しなくなったので注意
 +</code>
 +
 +===== Change Memory size of VM =====
 +<code>
 +# 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
 +</code>
 +
 +===== Change number of vCPUs =====
 +<code>
 +# 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
 +</code>
 +
 +
 +===== Pool関連 =====
 +  * Pool masterをServerNameなマシンに変える
 +    * <code>xe pool-designate-new-master host-uuid=`xe host-list name-label=ServerName --minimal`</code>
 +  * 古いPatchファイルを削除する
 +    * <code>for i in `xe patch-list --minimal|tr "," " "`;do xe patch-pool-clean uuid=$i;done</code>
 +    * xe patch-cleanでは、実際にはファイルが削除されない。
 +  * Pool内のVM listをとる
 +    * <code>xe vm-list</code>
 +    * <code>xe vm-list name-label=VM名</code>
 +    * <code>xe vm-list name-label=VM名 --minimal</code>
 +  * PoolにattachされているVDI情報をとる
 +    * <code>xe vdi-list</code>
 +  * PoolのUUIDを取る
 +    * <code>xe pool-list</code>
 +  * Poolの情報をとる
 +    * <code>xe pool-param-list uuid=poolのUUID</code>
 +  * Poolの自動起動を許可する
 +    * <code>xe pool-param-set uuid=poolのUUID other-config:auto_poweron=true</code>
 +  * Pool内のVMのPower stateがおかしくなった時のrecover
 +    * <code>xe vm-reset-powerstate force=true vm=server名</code>
 +===== Server関連 =====
 +  * 特定のServerで動作しているVMを探す
 +    * <code>xe vm-list resident-on=`xe host-list name-label=ServerName --minimal` | grep name-label|cut -f9- -d" "</code>
 +  * 起動中のVM一覧
 +    * <code>xe vm-list power-state=running</code>
 +  * タスク一覧
 +    * <code>xe task-list</code>
 +      * タスクのUUIDが出力される
 +  * タスクのキャンセル
 +    * <code>xe task-cancel uuid=タスクのUUID</code>
 +
 +===== GuestVM関連 =====
 +  * XenServer上のVM ImageをBackup
 +    - Backupを配置するDirectoryに移動する
 +    - ExportしたいVMのname-labelかUUIDを入手する
 +      * <code>xe vm-list</code>
 +    - Exportする
 +      * <code>xe vm-export filename=xxxxxxxx.xva name-label="testVM"</code>
 +      * この時、ExportするVMのファイル名に付ける拡張子は''xva''でなければならない
 +  * xvaファイルをImportする
 +    * <code>xe vm-import filename=xxxxxxxx.xva</code>
 +    * オプション
 +      * ''preserve=true''を引数として渡すと、元のVMのMAC Addressが保存される
 +      * ''sr-uuid=[宛先 SR UUID]''を引数として渡すと、sr-uuidで渡したUUIDのDiskに保存される
 +  * VMの(XenServer的)管理情報をとる
 +    * <code>xe vm-list params=all name-label=VM名</code>
 +  * VMのパラメータ一覧を取る
 +    * <code>xe vm-param-list uuid=対象VMのUUID</code>
 +    * <code>xe vm-param-get uuid=対象VMのUUID param-name=other-config</code>
 +  * VMにattachされているDisk(VDI)のリストをとる
 +    * VMが利用中のDisk
 +      * <code>  xe vm-disk-list name-label=VM名</code>
 +    * VMが利用中のDisk(snapshotも含む)
 +      * <code>xe vbd-list vm-name-label=VM名</code>
 +    * vbdのリスト
 +      * <code>xe vbd-list vm-uuid=VM-UUID</code>
 +    * VDIの管理情報
 +      * <code>xe vdi-param-list uuid=VDI-UUID</code>
 +  * SRの情報
 +    * <code>xe sr-list name-label=SR名</code>
 +  * SRの情報を再スキャン
 +    * <code>xe sr-scan uuid=SRのUUID</code>
 +    * なお、SR等の名前にはASCII文字しか入れないこと。
 +  * CrossPool Migration
 +    * XenServer 6.0以降では、VMのMigrationに、Pool内の縛りが無くなった。
 +      * もちろん、移行元、移行先ともに、6.0以降である事が必須
 +      * 但し、Migrateなので、VMが稼働していなければならない。
 +      * 対象VMには「XenServer Tools」が導入されている必要がある。
 +    * <code>xe vm-migrate vm=[対象VM] remote-address=[IP Address remote-username=root remote-password=[Password] [destination-sr-uuid=...]</code>
 +  * VMの起動
 +    * <code>xe vm-start uuid=[対象VMのUUID]</code>
 +    * <code>xe vm-start name-label="対象VMの名前"</code>
 +  * VMの停止
 +    * <code>xe vm-shutdown [force=true] uuid=[対象VMのUUID]</code>
 +    * <code>xe vm-shutdown [force=true] name-label="対象VMの名前"</code>
 +  * VMの削除
 +    * <code>
 +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
 +</code>
 +  * UUIDで指定したVMを自動起動ONにする
 +    * この場合、そもそも、Pool側で自動起動が許可されていなければならない。
 +      * <code>
 +xe-pool-list
 +xe pool-param-set uuid=PoolのUUID other-config:auto_poweron=true
 +</code>
 +      * これで、当該Poolの自動起動を許可してから以下を実施
 +    * <code>xe vm-param-set uuid=対象VMのUUID other-config:auto_poweron=true</code>
 +  * UUIDで指定したVMのコンソールURLを取得(VNC用)
 +    * <code>xe console-list vm-uuid=対象VMのUUID</code>
 +
 +=== XenServer上のVMのSerial Consoleに接続 ===
 +要するに、xm consoleをやりたい場合の作業
 +
 +参考: [[http://www.cmdln.org/2010/04/06/how-to-get-console-on-linux-domu-with-xenserver-xm-console-equivlent/]]
 +
 +  - <code>xe vm-list name-label="VM名"</code>
 +    * 対象のVMのUUIDを取得する
 +  - <code>list_domains</code>
 +    * 対象のVMのUUIDから、id番号を取得する
 +  - <code>/usr/lib/xen/bin/xenconsole [id]</code>
 +    * (XenServer 6.2まで)
 +  - <code>/usr/lib64/xen/bin/xenconsole [id]</code>
 +    * (XenServer 6.2まで)
 +    * xenconsoleコマンドで、idを指定する事で、対象VMのserial consoleにつながる
 +  - 抜けるには Ctrl-]
 +
 +ただ、NetBSD相手の場合、使い物にならない...。入力が刺さるので。boot optionに -s console=com0してもダメなので、原因は不明。
 +
 +もしくは、以下
 +  - <code>xl list</code>
 +  - <code>xl console [id]</code>
 +  - <code>抜けるには Ctrl-]</code>
  
os/xenserver/xe.1528879390.txt.gz · 最終更新: 2024/02/10 22:50 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki