1. 程式人生 > >xenserver 命令列得到vm的ip

xenserver 命令列得到vm的ip

All IP addresses for the host?

export hostuuid=`xe host-list name-label=[YOURHOSTNAME] --minimal` && xe pif-list host-uuid=$hostuuid params=device,IP,netmask,gateway,DNS | grep -v "^$"

will output all the IP addresses for the host itself. If you want all the IP addresses for all the VMs on a host - as has been mentioned

xe vm-list params=name-label,networks | grep -v "^$"

If you’re getting “not in database” the VMs might not have a network card, or haven’t been turned on yet, or have and are missing xentools.

#

XenServer doesn’t have the functionality to assign IPs to guests. If you are using a configuration management tool, you could have your VM check in with it and configure itself on first boot. You could also script something in your template. For example, one thing I’ve seen done is to add custom kernel parameters after creating the VM (e.g. with xe vm-param-set uuid={VM UUID} PV-args={something}+ ), and have a script in the VM parse +/proc/cmdline and set the network configuration on first boot.

So for example, after importing the CentOS template you could do something like:

> xe vm-param-set uuid={VM UUID} PV-args="graphical utf8 -- _ipaddr=10.0.0.50 _netmask=255.255.255.0 _gateway=10.0.0.1"

Then in the VM run something like this on first boot:
{code}

#!/bin/bash
OPTIONS=$(cat /proc/cmdline|sed 's/.*--//g'
) CONFIG=/etc/sysconfig/network-scripts/ifcfg-eth0 echo "DEVICE=eth0">$CONFIG echo "ONBOOT=yes">>$CONFIG echo "BOOTPROTO=none">>$CONFIG for i in $OPTIONS do OPT=$(echo $i|cut -f 1 -d "=") VAL=$(echo $i|cut -f 2 -d "=") if [ "${OPT:0:1}" = "_" ] then case $OPT in _ipaddr) echo "IPADDR=$VAL">>$CONFIG;; _netmask) echo "NETMASK=$VAL">>$CONFIG;; _gateway) echo "GATEWAY=$VAL">>$CONFIG;; esac fi done service network restart exit

{code}

And the resulting ifcfg-eth0 would be:
{code}

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.0.0.50
NETMASK=255.255.255.0
GATEWAY=10.0.0.1

{code}

相關推薦

xenserver 命令得到vm的ip

All IP addresses for the host? export hostuuid=`xe host-list name-label=[YOURHOSTNAME] --minimal` && xe pif-list host-uu

XenServer命令工具指南-xe param list的param屬性

執行XenServer的xe param list命令,比如sr-param-list會返回 [[email protected] ~]# xe sr-param-list uuid=a90e4c0b-ad89-189f-fac0-4ba6ae51111c

XenServer命令自動化拷貝並初始化虛擬機器

我們建立了本地機房,購買了一定數量的物理伺服器,每臺伺服器安裝了Xenserver,並打算在上面建立虛擬機器。之前我們一直通過的是XenCenter的方式,圖形化的操作來建立我們遇到了一個問題, 那就是,每臺新建的VM,其IP地址與主機名等在複製之後,不能自動更新。 我請教

Linux下又用命令彙總

原文:https://www.quora.com/What-are-the-most-useful-Swiss-army-knife-one-liners-on-Unix A few simple but useful examples: Set intersectio

迴圈執行Linux命令某一條命令

因為程式需要做很多得實驗,要不停得執行某條命令很多次,每次手動執行特別費時費力,通過命令列下得一條命令就可以完成啦::$ for((a=1;a<100;a++)); do ./gmplayer hst_2.mpg -quality 8 -vo png -ss 00:00

python 2.7 命令列印、print、str()、repr()

**1.**Python列印值(命令列列印):會保持該值在python程式碼中的狀態,不是使用者所希望看到的狀態 >>> "hello" 'hello' #python打印出的值是給python理解的。python理解為字串,所以帶引號 **2.**P

命令修改MySQL的編碼方式

      在MySQL中查資料的時候經常遇到中文亂碼的事情,那麼怎樣通過命令列來修改MySQL的編碼方式呢?       首先,可以通過show variables like 'character%';命令檢視相關編碼方式,如下:

ssdeep命令引數說明

ssdeep 下載地址: http://ssdeep.sourceforge.net/ ssdeep 中文介紹: http://blog.claudxiao.net/2012/02/fuzzy_hashing/#comment-489

以cat為例講述更高效的命令使用方式

以cat為例講述更高效的命令列使用方式 cat 是 unix 中的一個基礎命令,你可以在很多基礎命令學習書籍的例子中看到它。cat 屬於檢視檔案內容的命令,與它功能相似的一個命令是 tac,只是這個命令從後向前輸出檔案內容。 一般情況下,我們經常需要查詢檔案中的特定內容,這時我們

FFmpeg命令應用備忘錄

三、將PCM轉格式,並編碼成AAC:  ./ffmpeg  -f s16le -ar 16000 -ac 1 -i input-s16le.pcm  -f f32le -ar 16000 -ac 1  -y  input-f32le.pcm&nb

Vim安裝外掛在命令下看程式碼

這幾天我又想拋棄source insight 了,主要是太慢了 安裝如下 VIM萬能外掛   或者使用 sudo apt-get installexuberant-ctags 安裝 我主要是使用函式跳轉功能,需要記住幾個指令 1、生成tags用來實現函

cmd命令裡python、pip的具體操作及問題

1.怎麼開啟及退出python環境? 2.怎麼檢視pip的安裝情況? (是 Python 包管理工具,該工具提供了對Python 包的查詢、下載、安裝、解除安裝的功能。 目前如果你在 python.org 下載最新版本的安裝包,則是已經自帶了該工具

x265 命令引數大全

除非一個引數被標記為 CLI ONLY,否則該引數也被x265_param_parse() 支援。CLI使用getopt 函式來解釋命令列引數,長短版本的引數都可以使用,長引數在不引起歧義的情況下可以截斷成短引數。API使用者必須把完整的引數名傳遞給 x265_param_parse()。 Pres

VMware 根據視窗大小自動調整虛擬機器解析度(命令,Arch為例)

在使用VMware安裝虛擬機器的時候,Windows、Ubuntu等都有比較好的VM tools支援,所以基本安裝完vm tools之後就直接可以直接根據視窗大小改變解析度了。但是在Archlinux上因為VMware並不能自動安裝,手動安裝之後也不能自動啟動,所以這個功能不能自動開啟,

MFC解析啟動命令引數——CCommandLineInfo類

MFC中CCommandLineInfo類被用於分析啟動應用時的命令列引數。 MFC應用一般都會在它的應用物件中使用函式InitInstance()建立這個類的一個本地例項。然後把該物件傳給CWinApp::ParseCommandLine(),ParseCommandLine()又重複呼叫

Windows 下通過命令啟用、禁用網絡卡

建議將系統的網絡卡名改成英文名,這樣在輸入命令的時候會很方便。 例如: 第一塊無線網絡卡可取名為 wlan0 第一塊有線網絡卡可取名為 eth0,依此類推。 我電腦中的網絡卡命名如下圖所示: 首先以管理員身份身份執行 cmd 程式 禁用無線網絡卡:netsh inter

命令語法格式及特殊字元

在描述命令列引數的時候,對其格式有些約定俗成的寫法,各系統之間也有差別。一般採用的格式如下: 命令 <必選引數1|必選引數2> [-option {必選引數1|必選引數2|必選引數3}

main:處理命令選項

有時我們需要給main函式傳遞實參, 我們可以把命令列選項通過兩個形參傳遞給main函式: int mian(int argc, char *argv[]) { ... }; argv是argument value,是一個數組,它的元素是指向C風格字串的指標;第一個形參argc是argument coun

gitlab 切換分支命令 版本提交

轉載自:https://blog.csdn.net/volitory/article/details/58608732 gitlab 切換分支命令列 1、git branch    檢視分支 2、如果沒有任何顯示,兩種情況  一是當前沒有分支,二是沒有切換到

使用命令啟用window10 親測有效【不要修改命令

第一步:開啟CMD命令列,以管理員身份執行; 第二步:輸入命令 slmgr.vbs /upk ,稍等片刻會提示:“已成功解除安裝了產品金鑰”; 第三步:輸入命令 slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX ,稍等片刻會提示:“成功的