Hatena::ブログ(Diary)

labunix の ラボゆにっくす このページをアンテナに追加 RSSフィード Twitter

 
labunix の ラボゆにっくす
labunix の ラボUnix(はてなブログ)
 | 

2013/07/02 vmplayer内のWheezyにXenを導入 このエントリーを含むブックマーク このエントリーのブックマークコメント

■vmplayer内のWheezyにXenを導入
 WheezyでのXenはどんなものかと。NICが使えないのでコンソールのみ。
 雰囲気だけです。

■Xen関連のパッケージの確認

$ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \
  for list in `xargs`;do echo -n "$list,";apt-cache show "$list" | grep ^Descript | awk -F\: '{print $2}' | head -1;done
xen-linux-system-3.2.0-4-amd64, Xen system with Linux 3.2 on 64-bit PCs (meta-package)
xen-utils-common, Xen administrative tools - common files
xen-tools, Tools to manage Xen virtual servers
libvirt-bin, libvirt ライブラリ用のプログラム
uuid-runtime, runtime components for the Universally Unique ID library
qemu-kvm, x86 ハードウェアの完全仮想化

■Xenの導入

$ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \
  sudo apt-get install -y `xargs`

■コマンドの確認

$ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \
  for list in `xargs`;do echo "[ $list ]";dpkg -L "$list" | grep bin/ | grep -v doc/;done
[ xen-linux-system-3.2.0-4-amd64 ]
[ xen-utils-common ]
/usr/sbin/xen
/usr/lib/xen-common/bin/xen-toolstack
/usr/lib/xen-common/bin/xen-utils-wrapper
/usr/lib/xen-common/bin/xen-init-list
/usr/lib/xen-common/bin/xen-version
/usr/lib/xen-common/bin/xen-dir
/usr/lib/xen-common/bin/xen-toolstack-wrapper
/usr/sbin/xentrace_setsize
/usr/sbin/xenpm
/usr/sbin/xentrace_setmask
/usr/sbin/xentrace_format
/usr/sbin/xentop
/usr/sbin/cpuperf-xen
/usr/sbin/xl
/usr/sbin/xentrace
/usr/sbin/xm
/usr/sbin/cpuperf-perfcntr
/usr/sbin/xenperf
[ xen-tools ]
/usr/bin/xt-customize-image
/usr/bin/xt-create-xen-config
/usr/bin/xen-list-images
/usr/bin/xen-delete-image
/usr/bin/xt-install-image
/usr/bin/xen-create-nfs
/usr/bin/xen-create-image
/usr/bin/xt-guess-suite-and-mirror
/usr/bin/xen-update-image
[ libvirt-bin ]
/usr/sbin/libvirtd
/usr/bin/virt-xml-validate
/usr/bin/virt-pki-validate
/usr/bin/virt-host-validate
/usr/bin/virsh
[ uuid-runtime ]
/usr/bin/uuidgen
/usr/sbin/uuidd
[ qemu-kvm ]
/usr/bin/kvm
/usr/bin/kvm_stat
/usr/bin/kvm-io
/usr/bin/kvm-nbd
/usr/bin/kvm-img

■grubのエントリの確認
 03までの4つのエントリがある。

$ grep "menuentry" /boot/grub/grub.cfg | nl -w2 -v0 | sed s/"--"/"\n\t&"/g
 0      menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64'
        --class debian
        --class gnu-linux
        --class gnu
        --class os {
 1      menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64 (recovery mode)'
        --class debian
        --class gnu-linux
        --class gnu
        --class os {
 2      menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64'
        --class debian
        --class gnu-linux
        --class gnu
        --class os
        --class xen {
 3      menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64 (recovery mode)'
        --class debian
        --class gnu-linux
        --class gnu
        --class os
        --class xen {

■「with Xen 4.1-amd64」を選択するように起動順序を変更。

$ uname -a
Linux vmdebian2 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux

$ ls /etc/grub.d/
00_header        10_linux      30_os-prober  41_custom
05_debian_theme  20_linux_xen  40_custom     README

$ sudo mv /etc/grub.d/10_linux /etc/grub.d/25_linux
$ sudo update-grub2
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
  No volume groups found
done

$ grep "menuentry\|linux.*boot\|multiboot" /boot/grub/grub.cfg | head -2 | sed s/"--"/"\n\t&"/g
menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64'
        --class debian
        --class gnu-linux
        --class gnu
        --class os
        --class xen {
        multiboot       /boot/xen-4.1-amd64.gz placeholder

$ sudo shutdown -r now && exit

■Xenの起動確認

$ sudo grep -i "boot.*xen" /var/log/syslog
Jul  1 23:01:03 vmdebian1 kernel: [    0.000000] Booting paravirtualized kernel on Xen

$ lsmod | grep xen
xen_gntdev             13021  0
xen_evtchn             13012  1
xenfs                  17724  1

$ sudo xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   468     2     r-----     29.7

■仮想マシンのNICなので無効にするのだが、
 ここではどんなvifができるか見たいので、作成。

$ sudo /etc/xen/scripts/network-bridge status | grep ^bridge
bridge name     bridge id               STP enabled     interfaces
can't get info Operation not supported

$ grep "^(" /etc/xen/xend-config.sxp
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(enable-dom0-ballooning yes)
(total_available_memory 0)
(dom0-cpus 0)
(vncpasswd '')

$ sudo /etc/init.d/xen restart
[ ok ] Restarting Xen daemons: xend xend xenconsoled.

■デフォルトの設定確認

$ grep -v "^#\|^\$" /etc/xen-tools/xen-tools.conf
install-method = debootstrap
size   = 4Gb      # Disk image size.
memory = 128Mb    # Memory size
swap   = 128Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = `xt-guess-suite-and-mirror --suite` # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
mirror = `xt-guess-suite-and-mirror --mirror`
ext3_options     = noatime,nodiratime,errors=remount-ro
ext2_options     = noatime,nodiratime,errors=remount-ro
xfs_options      = defaults
reiserfs_options = defaults
btrfs_options    = defaults

debootstrapwgetでイメージを取得するので、必要であればプロキシの設定を。

$ grep wget /usr/sbin/debootstrap
      --verbose              don't turn off the output of wget

$ grep ^[hf].*_proxy /etc/wgetrc | sed s/"[0-9]"/"X"/g
https_proxy = http://XXX.XX.XX.XX:XXXX/
http_proxy = http://XXX.XX.XX.XX:XXXX/
ftp_proxy = http://XXX.XX.XX.XX:XXXX/

■debianのイメージを作成

$ sudo xen-create-image --hostname vmvm2 \
  --ip 192.168.181.60 --netmask 255.255.255.0 --gateway 192.168.181.2 \
  --passwd --dir /var/local

General Information
--------------------
Hostname       :  vmvm2
Distribution   :  wheezy
Mirror         :  http://ftp.jp.debian.org/debian/
Partitions     :  swap            128Mb (swap)
                  /               4Gb   (ext3)
Image type     :  sparse
Memory size    :  128Mb
Kernel path    :  /boot/vmlinuz-3.2.0-4-amd64
Initrd path    :  /boot/initrd.img-3.2.0-4-amd64

Networking Information
----------------------
IP Address 1   : 192.168.181.60 [MAC: 00:16:3E:CB:CE:DB]
Netmask        : 255.255.255.0
Gateway        : 192.168.181.2


Creating partition image: /var/local/domains/vmvm2/swap.img
Done

Creating swap on /var/local/domains/vmvm2/swap.img
Done

Creating partition image: /var/local/domains/vmvm2/disk.img
Done

Creating ext3 filesystem on /var/local/domains/vmvm2/disk.img
Done
Installation method: debootstrap
Done

Running hooks
No role scripts were specified.  Skipping
Setting up root password
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
All done


Logfile produced at:
         /var/log/xen-tools/vmvm2.log

Installation Summary
---------------------
Hostname        :  vmvm2
Distribution    :  wheezy
IP-Address(es)  :  192.168.181.60
RSA Fingerprint :  XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
Root Password   :  N/A

■確認

$ sudo wc -l /var/log/xen-tools/vmvm2.log
1048 /var/log/xen-tools/vmvm2.log

$ find /var/local/domains/
/var/local/domains/
/var/local/domains/vmvm2
/var/local/domains/vmvm2/swap.img
/var/local/domains/vmvm2/disk.img

$ ls -l /etc/xen/vmvm2.cfg
-rw-r--r-- 1 root root 733  71 23:52 /etc/xen/vmvm2.cfg

$ grep -v "^#\|^\$" /etc/xen/vmvm2.cfg
kernel      = '/boot/vmlinuz-3.2.0-4-amd64'
ramdisk     = '/boot/initrd.img-3.2.0-4-amd64'
vcpus       = '1'
memory      = '128'
root        = '/dev/xvda2 ro'
disk        = [
                  'file:/var/local//domains/vmvm2/disk.img,xvda2,w',
                  'file:/var/local//domains/vmvm2/swap.img,xvda1,w',
              ]
name        = 'vmvm2'
vif         = [ 'ip=192.168.181.60 ,mac00:16:3E:XX:XX:XX' ]
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

■NICの名前を追加、無効にしておく。

$ sudo grep ^vif /etc/xen/vmvm2.cfg
vif         = [ 'ip=192.168.181.60 ,mac=00:16:3E:XX:XX:XX' ]
$ sudo sed -i s/"^vif.*[A-F0-9]"/"& ,bridge=eth0"/ /etc/xen/vmvm2.cfg
$ sudo sed -i s/"^vif.*"/"# &"/ /etc/xen/vmvm2.cfg
$ sudo grep vif /etc/xen/vmvm2.cfg
# vif         = [ 'ip=192.168.181.60 ,mac=00:16:3E:XX:XX:XX ,bridge=eth0' ]

■仮想マシンの起動
 「-c」はシリアルコンソールにつないだかのように起動する。
 「-c」を除くとバックグラウンドで起動。

$ sudo xm create /etc/xen/vmvm2.cfg -c
Using config file "/etc/xen/vmvm2.cfg".
...

Debian GNU/Linux 7 vmvm2 hvc0

vmvm2 login: root
Password:
Linux vmvm2 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@vmvm2:~#

■別のホストコンソールから確認

$ sudo xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   372     2     r-----    372.3
vmvm2                                        6   128     1     -b----      5.9

■ゲストOS側でも再起動可能だが、コンソールから切り離されてしまう。
 ネットワークが無いので、「xm shutdown」で落とす。

$ sudo xm shutdown vmvm2

■その他

$ sudo xm
Usage: xm <subcommand> [args]

Control, list, and manipulate Xen guest instances.

Common 'xm' commands:

 console              Attach to <Domain>'s console.
 vncviewer            Attach to <Domain>'s VNC server.
 create               Create a domain based on <ConfigFile>.
 new                  Adds a domain to Xend domain management
 delete               Remove a domain from Xend domain management.
 destroy              Terminate a domain immediately.
 dump-core            Dump core for a specific domain.
 help                 Display this message.
 list                 List information about all/some domains.
 mem-set              Set the current memory usage for a domain.
 migrate              Migrate a domain to another machine.
 pause                Pause execution of a domain.
 reboot               Reboot a domain.
 reset                Reset a domain.
 restore              Restore a domain from a saved state.
 resume               Resume a Xend managed domain
 save                 Save a domain state to restore later.
 shell                Launch an interactive shell.
 shutdown             Shutdown a domain.
 start                Start a Xend managed domain
 suspend              Suspend a Xend managed domain
 top                  Monitor a host and the domains in real time.
 unpause              Unpause a paused domain.
 uptime               Print uptime for all/some domains.
 usb-add              Add the usb device to FV VM.
 usb-del              Delete the usb device to FV VM.
 domstate             get the state of a domain
 vcpu-set             Set the number of active VCPUs for allowed for
                      the domain.

<Domain> can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5)  man page.

For a complete list of subcommands run 'xm help'.


 | 
labunix のラボゆにっくす <過去記事一覧> 閲覧回数:1473524
プロフィール

labunix

labunix

labunix の ラボゆにっくす

labunix のブックマーク

1. お持ちのコンテンツを活用して、ユーザ企業のリード獲得を月額課金で! −PR− - ZDNet Japan
2. JVNDB-2018-006271.html
3. Windowsユーザーに贈るLinux超入門(7) Windows Explorerの詳細表示をlsコマンドで実行してみる | マイナビニュース
4. PostgreSQL 10.5、9.6.10、9.5.14、9.4.19、9.3.24、11 beta 3公開 | マイナビニュース
5. Oracle DBやVMware、Sambaがセキュリティアップデート--夏期休暇後に確認を - ZDNet Japan
6. ジャマイカ証取、暗号資産の取引を18年内に開始 - モーニングスター 仮想通貨ニュース
7. 「つながる世界の品質確保に向けた手引き」活用セミナー 〜IoTの特徴を考慮した検証・評価のポイントを企業の事例から学ぶ〜:IPA 独立行政法人 情報処理推進機構
8. IoTで構築した「スマートホーム」は通信を暗号化していても生活をのぞき見される可能性があるという研究結果 - GIGAZINE
9. jus共催 第37回シェル芸bot生きてるかどうか分からないけどシェル芸bot向けシェル芸勉強会 - USP友の会 | Doorkeeper
10. 最大手投資銀行ゴールドマンサックス、JPモルガンも出資するブロックチェーン企業「Axoni」と提携
11. 筑波大と慶應義塾大が「医療アントレプレナー育成プログラム」を実施 | Med IT Tech
12. 「日本を降伏させるな」米機密文書が暴いたスターリンの陰謀
13. コミュニケーション発想で“快適な送受信”を実現!広告なし・完全無料のファイル送信サービスを提供開始|ビビッドカラーズ株式会社のプレスリリース
14. セキュリティ機能内蔵マイクロコントローラー - EDN Japan
15. 新種のランサムウェア「KeyPass」キャンペーン、20カ国以上で被害--Kaspersky - ZDNet Japan
16. 金融庁公表【仮想通貨交換業者等の検査・モニタリング 中間とりまとめ】2 | 仮想通貨羅針盤 ビットコイン
17. インド政府、メトロや航空券などの公共機関で暗号トークンの利用を検討 | CoinChoice
18. 【戦争の暗号から生活の暗号へ】巨大情報共同体の誕生と暗号の市民化(dragoner) - 個人 - Yahoo!ニュース
19. 【セキュリティ ニュース】VMware、脆弱性「Foreshadow」向けにパッチを用意 - 緩和策も(1ページ目 / 全1ページ):Security NEXT
20. 新技術・新産業追求のビジネスイニシアチブ=英スパイレント〔BW〕:時事ドットコム