Hatena::Grouptech

id:rx7(@namikawa)の技術メモ このページをアンテナに追加 RSSフィード

過去記事一覧 | Main Blog (元RX-7乗りの適当な日々) | SBM (id:rx7のBookmark)

2010/12/28

何らかの理由でデバイスファイル(スペシャルファイル)が作られなかった場合

| 何らかの理由でデバイスファイル(スペシャルファイル)が作られなかった場合 - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - 何らかの理由でデバイスファイル(スペシャルファイル)が作られなかった場合 - id:rx7(@namikawa)の技術メモ 何らかの理由でデバイスファイル(スペシャルファイル)が作られなかった場合 - id:rx7(@namikawa)の技術メモ のブックマークコメント

fdiskのパーティションとしては見えているのに、/dev/以下にデバイスファイル(スペシャルファイル)が無い場合の話。

# fdisk -l

~~~ 省略 ~~~

Disk /dev/sdb: 145.9 GB, 145999527936 bytes
255 heads, 63 sectors/track, 17750 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          65      522081   83  Linux
/dev/sdb2              66         326     2096482+  82  Linux swap / Solaris
/dev/sdb3             327        4243    31457053   83  Linux
/dev/sdb4            4243       17750   108501227   83  Linux

↑fdiskでは、/dev/sdb4が見えているが、、、

# ll /dev/sd*
brw-r----- 1 root disk 8,  0 12月 28  2010 /dev/sda
brw-r----- 1 root disk 8,  1 12月 28  2010 /dev/sda1
brw-r----- 1 root disk 8, 16 12月 28 11:52 /dev/sdb
brw-r----- 1 root disk 8, 17 12月 28 11:48 /dev/sdb1
brw-r----- 1 root disk 8, 18 12月 28  2010 /dev/sdb2
brw-r----- 1 root disk 8, 19 12月 28 11:48 /dev/sdb3

"ls -l"等では、デバイスファイル(スペシャルファイル)が存在していない。

というわけで、"mknod"コマンドでデバイスファイルを作成する。

# mknod /dev/sdb4 b 8 20

オプションでは"b"を指定すると、ブロックデバイス用のスペシャルファイルが作成される。

("ls -l"で、各ファイルの先頭に"b"がついているもの。)

"b"に続けて、NAMEとTYPEを指定しますが、"ls -l"の結果を参考に揃えるように付け足す。

最後に、忘れずにオーナ(グループ)やパーミッションを他のデバイスファイルと揃えてやればOK。

# ll /dev/sd*
# ll /dev/sd*
# ll /dev/sd*
brw-r----- 1 root disk 8,  0 12月 28  2010 /dev/sda
brw-r----- 1 root disk 8,  1 12月 28  2010 /dev/sda1
brw-r----- 1 root disk 8, 16 12月 28 11:52 /dev/sdb
brw-r----- 1 root disk 8, 17 12月 28 11:48 /dev/sdb1
brw-r----- 1 root disk 8, 18 12月 28  2010 /dev/sdb2
brw-r----- 1 root disk 8, 19 12月 28 11:48 /dev/sdb3
brw-r----- 1 root disk 8, 20 12月 28 14:48 /dev/sdb4

この通り。

参考

# mknod --help
Usage: mknod [OPTION]... NAME TYPE [MAJOR MINOR]
与えられた TYPE のスペシャルファイル NAME を作成する。

長いオプションに必須の引数は短いオプションにも必須です.
  -m, --mode=MODE   アクセス権を a=rw - umask ではなく(chmod の様に)指定する
  -Z, --context=CONTEXT   set security context (quoted string)
      --help     この使い方を表示して終了
      --version  バージョン情報を表示して終了

Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they
must be omitted when TYPE is p.  If MAJOR or MINOR begins with 0x or 0X,
it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;
otherwise, as decimal.  TYPE may be:

  b      create a block (buffered) special file
  c, u   create a character (unbuffered) special file
  p      create a FIFO
トラックバック - http://tech.g.hatena.ne.jp/rx7/20101228

2010/12/27

CentOSでxfsを使いたい場合

| CentOSでxfsを使いたい場合 - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - CentOSでxfsを使いたい場合 - id:rx7(@namikawa)の技術メモ CentOSでxfsを使いたい場合 - id:rx7(@namikawa)の技術メモ のブックマークコメント

ちなみに試したバージョンはCentOS 5.4。

# yum --enablerepo=centosplus install xfsprogs xfsprogs-devel kmod-xfs

"mkfs.xfs"が使えるようになった。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20101227

2010/12/10

VMware vSphere CLIを使ってリモート操作 (SDK for Perl編その1)

| VMware vSphere CLIを使ってリモート操作 (SDK for Perl編その1) - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - VMware vSphere CLIを使ってリモート操作 (SDK for Perl編その1) - id:rx7(@namikawa)の技術メモ VMware vSphere CLIを使ってリモート操作 (SDK for Perl編その1) - id:rx7(@namikawa)の技術メモ のブックマークコメント

VMware vSphere CLIを使ってリモート操作 (vmware-cmd編その1)」に引き続き。

"--url"はvCenterのアドレス、"--vmname"は基本的に対象の仮想マシン(VM)名。あと"--password"でパスワードも指定できる。

# ちなみに、下記以外にも、もっと色々なコマンドやオプションがあるのですが、それはおいおい。

仮想マシン(VM)を起動/停止する

# perl vmcontrol.pl --username Administrator --operation poweron --vmname test01 --url https://10.255.xxx.xxx/sdk/webService

"--operation"の選択肢は、以下の通り。

poweron - Power on one or more virtual machines.
poweroff - Power off one or more virtual machines.
suspend - Suspend one or more virtual machines.
reboot - Reboot one or more guests.
reset - Reset one or more virtual machines.
shutdown - Shutdown one or more guests.
standby - Set to standby mode one or more guests.

テンプレートから仮想マシンへのデプロイ

# perl vmclone.pl --username Administrator --vmhost 10.255.yyy.yyy --vmname template_n --vmname_destination test01 --url https://10.255.xxx.xxx/sdk/webService --datastore data10

"--vmname"にはテンプレート名、"--vmname_destination"には新しく作る仮想マシン名。

テンプレートから仮想マシンへの変換

# perl vmtemplate.pl --username Administrator --url https://10.255.xxx.xxx/sdk/webService --vmname test01 --operation T --pool Resources

"--operation"で"VM"を指定すると、仮想マシンからテンプレートへの変換となる。

対象ホストに割り当てられているリソース確認

# perl vidiscovery.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --managedentity datacenter --entityname datacenter_name
Enter password:

***************Datacenter CA_test***************
DataCenter : datacenter_name
   Host : 10.255.yyy.yyy
      VM : template_n
      VM : test01
      VM : test02

仮想マシンの情報確認

# perl vminfo.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --vmname test01
Enter password:

Information of Virtual Machine test01

Name:            test01
No. of CPU(s):           1
Memory Size:             1024
Virtual Disks:           1
Template:                0
vmPathName:              [data_store_name] test01/test01.vmx
Guest OS:                CentOS 4/5 (64 ビット)
guestId:                 centos64Guest
Host name:               localhost
IP Address:              Not Known
VMware Tools:            VMware Tools is running and the version is current
Cpu usage:               0 MHz
Host memory usage:               290 MB
Guest memory usage:              0 MB
Overall Status:          The entity is OK

ゲスト(仮想OS)の情報確認

# perl guestinfo.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --vmname test01 --operation display
Enter password:


Guest Info for the Virtual Machine 'test01' under host 10.255.yyy.yyy

test01 guestFamily: linuxGuest
test01 guestFullName: CentOS 4/5 (64 ビット)
test01 guestId: centos64Guest
test01 guestState: running
test01 hostName: localhost
test01 ipAddress: Not Known
test01 toolsStatus: VMware Tools is running and the version is current.
test01 toolsVersion: 8290
test01 Screen - Height: 400
test01 Screen - Width: 720
test01 Disk[0]: Capacity 34842681344
test01 Disk[0]: Path : /
test01 Disk[0]: freespace : 32237264896
test01 Disk[1]: Capacity 517738496
test01 Disk[1]: Path : /boot
test01 Disk[1]: freespace : 500488192
test01 guest - Net : Not Known
トラックバック - http://tech.g.hatena.ne.jp/rx7/20101210

2010/12/09

VMware vSphere CLIを使ってリモート操作 (vmware-cmd編その1)

| VMware vSphere CLIを使ってリモート操作 (vmware-cmd編その1) - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - VMware vSphere CLIを使ってリモート操作 (vmware-cmd編その1) - id:rx7(@namikawa)の技術メモ VMware vSphere CLIを使ってリモート操作 (vmware-cmd編その1) - id:rx7(@namikawa)の技術メモ のブックマークコメント

CLIをインストールしたリモートのサーバからコマンドを発行して、vCenter Serverの仮想マシン(VM)を制御する。

"--server"はvCenterのIPアドレス、"--vihost"はホスト(ノード)のIPアドレス、って感じ。ちなみに"--password"でパスワードも指定できる。

# ちなみに、vmware-cmdは、下記以外にも、もっと色々な操作が可能。おいおい書いていきます。

Config(.vmx, .vmtx)のパスを確認する

# vmware-cmd --server 10.255.xxx.xxx --username Administrator --vihost 10.255.yyy.yyy -l
Enter password:


/vmfs/volumes/4cfcxxxx-ba2cxxxx-64xx-00xxxx06xxxx/template_xxxx/template_n.vmtx
/vmfs/volumes/4cfcxxxx-ba2cxxxx-64xx-00xxxx06xxxx/test01/test01.vmx

仮想マシンを起動する

# vmware-cmd '/vmfs/volumes/4cfcxxxx-ba2cxxxx-64xx-00xxxx06xxxx/test01/test01.vmx' start --server 10.255.xxx.xxx --username Administrator --vihost 10.255.yyy.yyy
Enter password:
start() = 1

仮想マシンのuptimeを確認する

# vmware-cmd '/vmfs/volumes/4cfcxxxx-ba2cxxxx-64xx-00xxxx06xxxx/test01/test01.vmx' getuptime --server 10.255.xxx.xxx --username Administrator --vihost 10.255.yyy.yyy
Enter password:
getuptime() = 2340

仮想マシンを停止する(ゲストのシャットダウン)

# vmware-cmd '/vmfs/volumes/4cfcxxxx-ba2cxxxx-64xx-00xxxx06xxxx/test01/test01.vmx' stop soft --server 10.255.xxx.xxx --username Administrator --vihost 10.255.yyy.yyy
Enter password:
stop() = 1

参考

トラックバック - http://tech.g.hatena.ne.jp/rx7/20101209

2010/12/03

LinuxにVMware vSphere CLIをインストール

| LinuxにVMware vSphere CLIをインストール - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - LinuxにVMware vSphere CLIをインストール - id:rx7(@namikawa)の技術メモ LinuxにVMware vSphere CLIをインストール - id:rx7(@namikawa)の技術メモ のブックマークコメント

ちなみにCentOS 5。

まず、以下のURLあたりから、

http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4#drivers_tools

"VMware vSphere CLI" (ver.4.1)をダウンロードする。

# tar zxvf VMware-vSphere-CLI-4.1.0-254719.x86_64.tar.gz
# cd vmware-vsphere-cli-distrib
# ./vmware-install.pl

展開後に、インストールスクリプトを実行。

すると、ライセンス表示がされる。

Do you accept? (yes/no) yes

ライセンス表示を読み終えたら、同意するか聞かれるので"yes"を。

openssl 0.9.7 is required for encrypted connections.
Please install openssl-devel version 0.9.7 or greater.

opensslのライブラリが必要と言われた。

# yum install openssl-devel

yumでインストールして、./vmware-install.plを再実行。

The following Perl modules were found on the system but may be too old to work
with vSphere CLI:

Compress::Zlib 2.005 or newer
HTML::Parser 3.60 or newer
URI 1.37 or newer

CLIのインストールは完了するも、上記のPerlモジュールが古い、と言われた。

# cpan Compress::Zlib
# cpan HTML::Parser
# cpan URI

というわけで、CPANで最新モジュールをインストール。

# vmware-cmd --version
vSphere SDK for Perl version: 4.1
Script './' version: 4.1

ここまででインストールは完了。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20101203