2010年9月17日金曜日

さくらのVPS OS入替 ( Ubuntu 10.04 amd64) まで

サーバ要件の調査


さて、思わず申し込んでみた「さくらのVPS」ですが、OSを入れ替える前にVPSサーバの要件を調べておく必要があります。これは初期状態で即使えるようにセットアップされている( もちろん「OS再インストール」を行ってもこの状態になります ) 親切設計なのですが、この状況から OS セットアップに必要な情報を収集しておかないと、いざインストールのときに困ることになるからです。仮にOSを入れ替えることを企てないような場合でも使い始めるまえにこの辺の情報は控えておいたほうが良いと思います。

とりあえずこの項目を調べてね


ということで、まずは Linux 管理の復習もかねて、VPSに設定されている以下の項目を調べておいてください。初期状態でユーザを作っていない状態でも、コントロールパネルの「リモートコンソール」や、ベータ版非公式の 「VNC コンソール」 ( https://secure.sakura.ad.jp/vpscontrol/main/vnc ) で root ユーザでログインすることができます( root ユーザの初期パスワードはメールで通知されます。また再インストールを行う際にはパスワードを指定することができます )。調べ方については詳しく触れませんが、不安な方はここで参考書などを読み復習しておきましょう。
  • ホスト名
  • DNSドメイン名
  • DNS FQDN名
  • IPアドレス
  • ネットマスク
  • ルーティング情報(デフォルトゲートウェイも含む)
  • DNSサーバ指定(複数指定されていればその全て)
  • DNSサーチドメイン名
  • NTPサーバ

なお、「VNC コンソール」については、Ubuntu 10.04 のインストールでよく使うので、ブックマークに登録しておくと良いでしょう。

Ubuntu のネットワークインストーラの入手


VPS サーバには仮想CD-ROMが接続されているようにOSから認識されていますが、「CD-ROM媒体を挿入する」という動作を行うことが現状ではできないので、ネットワークインストーラを入手し、それを起動する方向でいきたいと思います。「VNC コンソール」上にログインし、現在利用できる Ubuntu 10.04 amd64 版のカーネルとインストーラーinitrdイメージを入手します。root ユーザで
# mkdir /boot/ubuntu
# cd /boot/ubuntu
# wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/
installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux
...
# wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/
installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz
(URLが長いので折り返しましたが、この部分は1行で続けて書いてください)
としてファイルを取得します。URLが長いですが、rootの標準シェルになっている bash のヒストリ機能をつかうと2回目のコマンドの大部分の入力を楽に行うことができます。

Ubuntu のネットワークインストーラの起動


うまくファイルを取得できたら、問答無用でリブートします。他のサイトさんの Ubuntu インストールの手引きでは grub の設定ファイルを編集してますが、どうせ使い捨てになるので、ブートしたときに入力することにして、迷わず reboot です。
# reboot

VPS が再起動すると、Press any key to continue と出てくるので何かキーを押し、その後 Booting CentOS と出たところでも再度なにかキーを押すと、Grub のメニュー画面となります。

ここで中央下の部分にも書いてありますが、 'c' キーを押して、 grub コマンドラインモードに移ります。

grub のコマンドラインではこのように
grub> root (hd0,0)
grub> kernel /ubuntu/linux
grub> initrd /ubuntu/initrd.gz
grub> boot
と指定します。ここで、キーボードは us モードになっているので、一般的な日本語キーボードでは開き丸カッコは Shift + 9 、閉じ丸カッコは入力できないので root (hd0,0 とここまで入力したところで TAB キーを押して閉じ丸カッコを補完させます。また、kernel の部分についてはオプションを指定する必要が本当はありますが、VNC コンソールを使う前提であれば、こんな程度で大丈夫です。kernel や initrd のところでもファイル名については TAB キーによる補完が効くので、適当なところまで入力した後に TAB キーを押してとっとと補完させておくのがスマートだと思います。

Ubuntu のインストール


うまくいくとコンソールにメッセージが流れ、インストーラーが起動します。インストーラの質問に答えながら作業を進めていきます。
  • Choose language "C - No locale" ( 日本語もイケるけど、デフォルトの言語と設定されコンソールで日本語が表示されずに文字化けしてイヤな思いをするので、 C を推奨 )
  • - continent , country "Asia , Japan"
  • Detect keyboard layout? "No"
  • Origin of the keyboard, Keyboard layout "Japan, Japan" ( もちろんいつも使うキーボードに合わせて設定してください )
  • Charactet set to support ". Conbined - latin; Slavic Cyrillic; Hebrew; basic Arabic" ( デフォルトのままで OK )
  • DHCP "すぐにcancel" ( VPS 網に DHCP パケット飛ばしても迷惑なだけで意味はありません )
  • Network autoconfiguration failed "continue"
  • Network configuration method: "Configure network manually" ( 手動設定を選択 )
  • IP address: ( 事前に調べておいた IP アドレスを入力。よく確認して! )
  • Netmask: ( 事前に調べたネットマスクを入力。きっと 23ビットなので、きちんと確認を )
  • gateway IP address: ( 事前に調べたデフォルトゲートウェイアドレスを入力 )
  • Name server address: ( 事前に調べたネームサーバのうちいずれかを入力。インストール後に完全な設定を作ることにします )
  • Hostname: ( IPアドレスが正しく入力されていればDNS逆引きの結果得たホスト名がデフォルトの文字列になっているはずです。事前に調べたものとあってるか確認を )
  • Domain name: ( Hostname 同様確認を )
  • Choose a mirror: "Japan" ( Japan が一番有利なはず )
  • Ubuntu archive mirror: "jp.archive.ubuntu.com" ( これだけが選択可能になってるはず )
  • HTTP proxy: "" ( Proxy サーバは使用しません )
  • Time zone: "Asia/Tokyo" ( となっているはずなので確認を )
  • Partition disks: "Guided - use entire disk" ( LVM にしてもメリットなさそうなので、単にディスク全体を使用 )
  • Partition disks: ( 仮想HDD 1台のみが選択可能なはずです )
  • Write the changes to disks: "yes" ( こだわりある人はレイアウト変えるのもよいでしょうけど、所詮仮想環境なので凝っても仕方がないと思います )
  • Full name for the new user: ( 常用するユーザの本名をローマ字で )
  • Username for your account: ( 常用するユーザのアカウント名を )
  • Choose a password for the new user: ( 常用するユーザのパスワード )
  • Encrypt your home directory: "no" ( 暗号化はやめときます )
  • manage updates: "No automatic updates" ( 更新は手動でやることにします )
  • Software selection
いろいろありますが、後でから追加できるので、 Basic Ubuntu server のみを選択。
今回のようにリソースが限られている環境では、
この段階で色気を出してもロクなことにならない場合が多いので注意。
  • Install the GRUB: "yes" ( grub ブートローダもインストールします )
  • Is the system clock set to UTC? "yes" ( マルチブート環境でもありませんし、 UTC にしておいたほうが良いでしょう )
  • Installatio complete: "continue" ( インストール完了。Continue を選択すると再起動します )
と、ここまでで、インストールが完了しました。インストール中に指定したアカウント名でログインできることを確認してください。


この次は?


OSのインストールには成功しましたが、この状態では何のサービス ( ssh でさえも ) 動いていない状態です。また、シリアルポートが接続されていることになっているはずの「リモートコンソール」のほうは何の反応もない状態となっているはずです。次回はこの辺の部分の整備について書いてみたいと思います。