Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NetBSD on Conoha VPS at JNUG BoF 2014

1,143 views

Published on

Published in: Software
  • Be the first to comment

  • Be the first to like this

NetBSD on Conoha VPS at JNUG BoF 2014

  1. 1. NetBSD on Conoha VPS Ryo ONODERA <ryo_on@yk.rim.or.jp> 2014-07-12 NetBSD BoF at JNUG A.G.M. 2014 Takeda building in the University of Tokyo
  2. 2. Conoha VPSの問題 ● KDDI Web comminicationsのCloudCore VPSで知られている問題を抱え ているようで、無修正のNetBSD/amd64を起動することはできない (NetBSD/i386は試していない) ● CloudCore VPSでの情報は、以下を参照してください。一時期消えてい ましたが、復活してもらえました。ありがとうございます。 http://www.aktado.net/netbsd-on-ccvps.html – NetBSD/amd64 currentであれ ば、sys/arch/amd64/conf/GENERIC.local に options PCI_CONF_MODE=1 と指定するだけ。 ● しかも、自分でbuild.sh iso-imageしたiso imageはなぜか起動しない (bootable iso imageとして起動してもらえない)。nyftpのsnapshotや NetBSDのrelease版は起動する。 – 実機では起動するのに…
  3. 3. 解決方法 ● どうにもならないように思ったが、以下のような方策があ りそう。 ● ddでイメージを書き込む ● PXEブートする ● ● ddは気が向かなかったので、PXEブートをやってみること にした。
  4. 4. PXEブートの準備 ● ConoHa VPSにlocal network機能があれば、netbootで修 正したkernelを起動できるのではないか? ● global IP addressな環境のままでもnetbootできるかもしれ ないが、local network機能があるのであれば、それを使う に越したことはなさそう。
  5. 5. もう一台のVPSを申し込む(1/2)
  6. 6. もう一台のVPSを申し込む(2/2)
  7. 7. local networkを申し込む
  8. 8. local networkの確認
  9. 9. local networkの有効化(1/2)
  10. 10. local networkの有効化(2/2)
  11. 11. 母艦側の設定(1/5) ● CentOS/x86_64 6.5が標準でインストールされているので、以下のようにdhcpdとtftpdを設 定する。 ● ● host# yum install dhcp ● host# yum install tftp-server ● host# yum install nfs-utils ● ● まずは、local networkを使えるようにする。 ● VPSを選び、local networkを有効にする。 ● これで、CentOSでeth1、iPXEでnet1が追加される。 ● ここで、2台のVPSのMACアドレスは控えておく。 ● Host: FA:16:3E:01:A8:11 ● Client: FA:16:3E:01:A2:F1
  12. 12. 母艦側の設定(2/5) ● host# ifconfig eth1 10.0.0.1 netmask 0xffffff00 ● ● ホスト/クライアント双方のfirewallを無効にし、global IP addressの ● 割り当てられたeth0を消す。 ● ● host/client# /etc/init.d/iptables stop ● host/client# ifconfig eth0 down
  13. 13. 母艦側の設定(3/5) ● dhcpdをセットアップする。 ● host# man 5 dhcpd.conf ● としてみると、ISC DHCPDがinstallされたらしい。 ● ● host# cat /etc/dhcp/dhcpd.conf ● subnet 10.0.0.0 netmask 255.255.255.0 { ● range 10.0.0.12 10.0.0.100; ● } ● ● host pxehost { ● hardware ethernet FA:16:3E:01:A2:F1; ● fixed-address 10.0.0.12; ● ● # stage 1: ● filename "pxeboot_ia32.bin"; ● ● # stage 2: ● next-server 10.0.0.11; ● option root-path "/export/amd64/root"; ● } ● ● のようにして、読み込むファイルと、root filesystemの場所を指定する。 ●
  14. 14. 母艦側の設定(4/5) ● u6b21u306btftpdu3092u30bbu30c3u30c8u30a2u30c3u30d7u3059u308bu3002 ● ● host# /etc/init.d/xinetd start ● host# cd /var/lib/tftpboot ● host# wget http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201406222200Z/amd64/installation/misc/pxeboot_ia32.bin ● ● ● u6b21u306bu3001NFS serveru3092setupu3059u308bu3002 ● ● host# cat /etc/exports ● /export/amd64/root 10.0.0.12(rw,sync) ● host# exportfs -a ● host# /etc/init.d/rpcbind start ● host# /etc/init.d/nfslock start ● host# /etc/init.d/nfs start ● host# showmount -e ● (snip) ● /export/amd64/root 10.0.0.2
  15. 15. 母艦側の設定(5/5) ● host# cd /export/amd64/root ● host# wget http://nyftp.netbsd.org/pub/NetBSD- daily/HEAD/201406222200Z/amd64/binary/sets/base.tgz ● host# wget http://nyftp.netbsd.org/pub/NetBSD- daily/HEAD/201406222200Z/amd64/binary/sets/etc.tgz ● host# wget http://nyftp.netbsd.org/pub/NetBSD- daily/HEAD/201406222200Z/amd64/binary/sets/modules.tgz ● host# wget http://nyftp.netbsd.org/pub/NetBSD- daily/HEAD/201406222200Z/amd64/binary/sets/kern-GENERIC.tgz ● host# for name in *tgz; do tar zxvf $name; done ● host# mv netbsd /var/lib/tftpboot ● host# cat etc/fstab ● 10.0.0.1:/export/amd64/root / nfs rw 0 0 ●
  16. 16. クライアント側の設定 ● クライアント側 (NetBSDをインストールする側) を再起動 させる。 ● これはHTML 5なconsoleから実施すること。sshなconsole ではnetbootの ● 選択の段階を表示できない。 ● ● Ctrl-bでiPXEのメニューに入り以下を実行する。 ● ● iPXE> autoboot net1 ●
  17. 17. おわりに ● あとは、VPSのコントロールパネルからvirtioを無効にして PXEブートさせ、sysinstを使わずにinstallするだけです。 – virif(4)ではPXEブートできません。 ● installさえしてしまえば、virtio機能も使えました(負荷はか けていないので安定性とかは不明)。
  18. 18. ライセンス ● This is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). ● ● http://creativecommons.org/licenses/by/4.0/

×