18
NetBSD on Conoha VPS Ryo ONODERA <[email protected]> 2014-07-12 NetBSD BoF at JNUG A.G.M. 2014 Takeda building in the University of Tokyo

NetBSD on Conoha VPS at JNUG BoF 2014

Embed Size (px)

Citation preview

Page 1: NetBSD on Conoha VPS at JNUG BoF 2014

NetBSD on Conoha VPS

Ryo ONODERA<[email protected]>

2014-07-12

NetBSD BoF at JNUG A.G.M. 2014Takeda building in the University of Tokyo

Page 2: NetBSD on Conoha VPS at JNUG BoF 2014

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版は起動する。

– 実機では起動するのに…

Page 3: NetBSD on Conoha VPS at JNUG BoF 2014

解決方法

● どうにもならないように思ったが、以下のような方策がありそう。

● ddでイメージを書き込む

● PXEブートする

● ddは気が向かなかったので、PXEブートをやってみることにした。

Page 4: NetBSD on Conoha VPS at JNUG BoF 2014

PXEブートの準備

● ConoHa VPSにlocal network機能があれば、netbootで修正したkernelを起動できるのではないか?

● global IP addressな環境のままでもnetbootできるかもしれないが、local network機能があるのであれば、それを使うに越したことはなさそう。

Page 5: NetBSD on Conoha VPS at JNUG BoF 2014

もう一台のVPSを申し込む(1/2)

Page 6: NetBSD on Conoha VPS at JNUG BoF 2014

もう一台のVPSを申し込む(2/2)

Page 7: NetBSD on Conoha VPS at JNUG BoF 2014

local networkを申し込む

Page 8: NetBSD on Conoha VPS at JNUG BoF 2014

local networkの確認

Page 9: NetBSD on Conoha VPS at JNUG BoF 2014

local networkの有効化(1/2)

Page 10: NetBSD on Conoha VPS at JNUG BoF 2014

local networkの有効化(2/2)

Page 11: NetBSD on Conoha VPS at JNUG BoF 2014

母艦側の設定(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

Page 12: NetBSD on Conoha VPS at JNUG BoF 2014

母艦側の設定(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

Page 13: NetBSD on Conoha VPS at JNUG BoF 2014

母艦側の設定(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の場所を指定する。

Page 14: NetBSD on Conoha VPS at JNUG BoF 2014

母艦側の設定(4/5)

● \u6b21\u306btftpd\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u3002●

● 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●

● \u6b21\u306b\u3001NFS server\u3092setup\u3059\u308b\u3002●

● 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

Page 15: NetBSD on Conoha VPS at JNUG BoF 2014

母艦側の設定(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●

Page 16: NetBSD on Conoha VPS at JNUG BoF 2014

クライアント側の設定

● クライアント側 (NetBSDをインストールする側) を再起動させる。

● これはHTML 5なconsoleから実施すること。sshなconsoleではnetbootの

● 選択の段階を表示できない。●

● Ctrl-bでiPXEのメニューに入り以下を実行する。

● iPXE> autoboot net1●

Page 17: NetBSD on Conoha VPS at JNUG BoF 2014

おわりに

● あとは、VPSのコントロールパネルからvirtioを無効にしてPXEブートさせ、sysinstを使わずにinstallするだけです。

– virif(4)ではPXEブートできません。● installさえしてしまえば、virtio機能も使えました(負荷はかけていないので安定性とかは不明)。

Page 18: NetBSD on Conoha VPS at JNUG BoF 2014

ライセンス

● This is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).

● http://creativecommons.org/licenses/by/4.0/