2012-01-13
● [鯖管] さくらのVPSにCentOS 6.2をインストールする
さくらのVPSでは、CentOS 5.5 (Final) (執筆時点) がインストールされていますが、FUSEなどの新しいものを使おうとすると、CentOS 6 系を使いたくなります。
CentOS のリリースノートは、「前のメジャー リリース(現在の CentOS 5 や CentOS 4)のインストールを『アップグレード』する手順をサポートしません」としており、アップグレードではなく、クリーンインストールが推奨されています。VPSの場合、手元にCD-Rを用意して…という手順が使えませんから、ネットワークインストールをすることになります。自分用のメモ代わりに、やり方を記録しておきます。
1. root でログインし、情報収集する
ブラウザ上で動くリモートコンソールでもいいですが、URL の入力などにコピペが使えないので、手元の端末からのリモートログインか、WindowsならTera Termなどを使ってログインした方が楽でしょう。
ログインできたら、ネットワークの設定に必要な情報をメモしておきます。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 IPADDR=???.???.???.??? <= IPアドレス NETMASK=???.???.???.??? <= ネットマスク GATEWAY=???.???.???.??? <= ゲートウェイ ONBOOT=yes # /etc/resolv.conf nameserver 210.224.163.4 <= ネームサーバー nameserver 210.224.163.3 search sakura.ne.jp
2. ブート用イメージをダウンロードする
手元の端末で、CentOS のミラーリストから最寄りのFTPミラーを選びます。バージョン (6.2) → os → アーキテクチャ (x86_64) → isolinux とリンクをたどっていった URL (ftp://ftp.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/isolinux/)からダウンロードできるファイルを使います。
1でログインしたサーバー上で、/boot/centos6 ディレクトリを作り、そこに移動します。
# mkdir /boot/centos6 # cd /boot/centos6
ダウンロードするファイルが複数(6.2は9個)あるので、最後にワイルドカード (*) を付け、シングルクオートで囲んで wget します。
# wget 'ftp://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/isolinux/*'
これでネットワークインストールに必要なファイルがダウンロードできました。 ここからは、ブラウザ上からコンソールにログインできる「リモートコンソール」(とそのグラフィック版であるVNCコンソール)を使います。
3. ネットワークインストール用カーネルでの起動
VPSコントロールパネルからVNCコンソール(リモートコントロールにあります)を起動し、ログインしたらいったん再起動します。
# reboot
リブートに成功すると、"Press any key to continue" の後すぐに
Booting CentOS (2.6.18-194.26.1.el5) in 3 seconds...
とカウントダウンが始まりますので、カウントダウンしている間に何かキーを押して、旧カーネルでの起動を止め、GRUB メニューに切り替えます。
キー c を押してコマンドモードにし、以下のように入力します。
grub> kernel /centos6/vmlinuz grub> initrd /centos6/initrd.img grub> boot
ブートに起動すれば、インストーラーの画面が表示されます。
4. インストール
インストール中に利用する言語(Japaneseを選択)、キーボード(jp106を選択)、インストール方法(URLを選択)を指定します。続いてネットワークの設定になるので、
[*] Enable IPv4 support ( ) Dynamic IP configuration (DHCP) (*) Manual configuration
[ ] Enable IPv6 support
と選択します。(IPv4の設定はマニュアル指定する必要があります。IPv6は現時点では無効にしておいた方が無難なのでチェックを外します)IPv4の設定には、1.でメモした内容を使います。
続いてURLを入力する画面が表示されるので、2. でインストール用カーネルをダウンロードしたURLの一つ上の階層(CentOS 6.2 の場合だと ftp://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/)を入力します。OKを押すと、ファイルのダウンロードとチェックの後、"Welcome to CentOS!" という画面が表示されます。
5. インストール続き
タイムゾーン(UTCを利用・Asia/Tokyoを選択)、rootのパスワードを入力。ディスクのパーティション設定は、クリーンインストールの場合 "Use entire drive" でいいでしょう。パーティションの設定をディスクに書き込んだら、しばらく自動的に処理が進み、インストールの終了です。
再起動が終わったら、すでにサーバーは通常のサーバーとして利用可能な状態になっています。SSHでログインできるので、コンソールなりTera Termなりでログインしましょう。ログインしたら、yum updateでパッケージを更新します。
追記
なお、TCP Segmentation Offload (TSO) のため、さくらVPSと一部プロバイダの間での通信に遅延が発生するらしいです。(参考:さくらのVPSで「CentOS」を利用していますが、回線速度が遅くアクセスに時間がかかります)説明を読んでも、プロバイダによって通信速度が劣化するのか理解しづらいですが、事実 TSO を off にするとアクセスが改善されたとの報告があったので、まぁそういうものなのでしょう。
以下の手順で TSO を off にします。
- /etc/sysconfig/network に NETWORKING_IPV6=no を追加
- /etc/modprobe.d/ipv6.conf を作成し、以下の設定を追加
- alias ipv6 off
- alias net-pf-10 off
- コマンド /sbin/chkconfig ip6tables off を実行
- サーバーを再起動