zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|
2013|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2012年04月26日(Thu)

さくらのVPSに Ubuntu 12.04 LTS をクリーンインストールする方法

Precise がリリースされたということで、ベータの頃に試した、さくらのVPSに Ubuntu 12.04 LTS をクリーンインストールする方法を公開しておきます。他の OS でも netboot のインストーラーを用意している OS なら、似たような感じでインストール出来ると思います。

Ubuntu の Server 版とか Debian とかをインストールしたことがある程度の知識を前提としています。

インストールは「VPSコントロールパネル」の「リモートコンソール画面」を使うことを想定しています。「VNCコンソール」を使うなら、シリアルコンソールの設定を忘れた場合でも再インストールからやり直す必要はないかもしれません。(試していないので確認していません。)

まず初期状態の CentOS になっていると仮定します。 失敗したときは再インストールで初期化してここからやり直しです。

最初に現在のホスト名と /etc/resolv.conf で設定されている DNS サーバーの IP アドレスと /etc/sysconfig/network-scripts/ifcfg-eth0 で設定されている IP アドレスとネットマスクとデフォルトゲートウェイをメモしておきます。

次に http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/ から /boot に linux と initrd.gz をダウンロードします。

/boot/grub/grub.conf を以下の内容で置き換えます。 grub とインストーラーの linux カーネルでシリアルコンソールを使う設定が必須です。 忘れてしまって画面が見えなくなった場合は CentOS の再インストールからやり直しです。

 default=0
 timeout=5
 serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
 terminal --timeout=10 serial console
 title ubuntu-installer
 root (hd0,0)
 kernel /linux console=tty0 console=ttyS0,115200n8r
 initrd /initrd.gz

もしくは grub.conf はそのままで grub のメニューから c でコマンドラインに入って、

root (hd0,0)
kernel /linux console=tty0 console=ttyS0,115200n8r
initrd /initrd.gz
boot

で起動しても同じことです。

後は Debian-Installer というインストーラーでのインストールになります。 メモしたネットワークの情報などを使って、普通にインストールするだけです。 インストーラーに必要なカーネルイメージなどはすでにメモリ上に読み込まれているので、パーティションはばっさり消してきり直しでかまいません。 Debian-Installer では「戻る」を使うと expert モードに切り替わります。 そのままインストーラーを終了してしまうとシリアルコンソールが使えない状態なので、途中で一度以上「戻る」を使って expert モードにしておきます。 そして最後に「Finish」でインストーラーを終わる前にシェルを開きます。

インストーラーの中から開いたシェルでは /target にインストール後の / がマウントされています。 そこで /target/boot/grub/grub.cfg の linux 行のオプションに console=tty0 console=ttyS0,115200n8r を追加しておきます。 (正しい手順としては /target/etc/default/grub に追加して chroot /target /usr/sbin/update-grub ですが試していません。)

grub でシリアルコンソールを使う設定が出来たら、シェルを抜けてインストーラーの Finish を選んで再起動します。

再起動してシリアルコンソールの設定に失敗して見えなくなってしまったら、 CentOS の再インストールからやり直しです。 失敗しても grub のコマンドラインに入れたなら、再起動せずにそこでシリアルコンソールを使う設定で起動するという手もあります。

再起動して無事起動出来たら sudoedit /etc/default/grub で GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8r" という設定にして、 sudo update-grub で反映させます。 そして再起動して確認しておきます。

問題なくシリアルコンソールが繋がっていれば後は普通に Linux として使えます。 お疲れ様でした。

インストール後の設定

[001391]さくらのVPSで「Ubuntu」を利用していますが、回線速度が遅くアクセスに時間がかかります。 に書いてあるような問題があるので、 sudo apt-get install ethtool などで ethtool パッケージをインストールして、 /etc/network/interfaces に「offload-tso off」と書いておくと良いでしょう。

/etc/network/interfaces の設定例としては以下のようになります。 (さくらの6rd(トライアル) の設定も含んでいます。)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
	address 49.212.131.XXX
	netmask 255.255.254.0
	network 49.212.130.0
	broadcast 49.212.131.255
	gateway 49.212.130.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 210.224.163.4 210.224.163.3
	dns-search example.jp
	# ethtool
	offload-tso off

auto tun6rd
iface tun6rd inet6 v4tunnel
	address 2001:e41:31d4:83XX::1
	netmask 32
	local 49.212.131.XXX
	endpoint any
	gateway ::61.211.224.125
	ttl 64
	up ip tunnel 6rd dev tun6rd 6rd-prefix 2001:e41::/32
	up ip link set mtu 1280 dev tun6rd

この設定の意味の詳細について知りたい場合は /etc/network/if-up.d/ethtool や man interfaces を見てください。


copyright © 2001-2014 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73