Top Banner
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
18

NetBSD on Conoha VPS at JNUG BoF 2014

Jun 10, 2015

Download

Software

Ryo ONODERA
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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/