各VPSの設定

GMO VPSの登録/ログイン/設定

登録

http://vps.gmocloud.com/

からユーザ登録する。

クレジットカード支払いで申し込めばすぐ利用できますが、銀行振込を選ぶと振込が確認されるまで利用は出来ません。
自分は当時ここではGMO VPSのCent OSで選べる最新の6.2を選びました。
なお、ここで選ぶOSは、後から変更は出来ないようです。
他のOSだったらどうだろう?、とも思ったのですが、別途契約が必要になってしまうので、そちらは試しませんでした。

なお、1つの契約をしているのに複数の契約をしているように見えたりしますが、これでも実は1つの契約しかしていません。
そんな感じで、Webコンパネが色々と使い辛い&作動がおかしいところが多数ある事には覚悟をして下さい。


GMO特有の設定: 容量を増やすようにリクエストする

容量200GBで契約しましたが、何と最初は20GBしかありません。
自分は間違えた契約しちゃったかな?とサポートに電話で問い合わせてしまいました。
なお、契約通り割り当てて貰う為には、Webフォームを通じて申し込むしかありません。
どこにあるか探すのは結構大変なので、無理でしたら電話を通じてお願いしましょう。
なお、それでも電話だけでは受付は完了せず、結局メールを通じてリクエストを投げる必要があります。
また、VPSは通常は設定含めて自動化が進められているものですが、このディスク増量は人手を介しているようで、GMO担当者が営業時間内に作業が出来るようにお願いしておかないと、次の営業時間を待つ羽目になります。


ext4ではなくext3の場合に変更する方法

GMOのVPSはメモリー単価が安いという特徴があるので、そこまで速度は求めないけれども、メモリー容量が必要という部分について契約してみようと思ったのですが、
VPS各社のパフォーマンス比較をしていたら、特定のベンチマークの速度が極端に遅かった事から、GMOのVPSがCent OS6.x系なのにも関わらずext3で、ext4対応していない事に気づきました。

ext3だと、特に同一ディレクトリ内のサブディレクトリの数の制限が3万1千台というのが、自分の利用用途では要件未達になってしまうので、どうにかext4に移行できないかとその方策を探してみる事にしました。

最初はこりゃ無理だねと思っていましたが、移行に成功したので、必要とされる方の為に情報を共有させて頂きます。

コンパネにログインしてリカバリーモードで再起動

Webコンパネ→VPSコンパネ→リカバリーモードで再起動

をすると、通常使うサーバーはダウンして、それとは別のサーバーから、通常使うサーバーのHDDをunmountされた状態で操作出来るようになります。

リカバリーモードのサーバーにログイン

リカバリーサーバーは同じIPですが、サーバーが変わっているので、sshログインをしようとすると、はねられてしまいます。
vi ~/.ssh/known_hosts
して、一旦そのサーバーの名前が入っている行を削除し、VPSコンパネで表示されたログイン情報で、サーバーにログインしてみましょう(パスワードも元のとは異なる)。

ext3 => ext4への移行作業

fdisk -l
と打つと、unmountされたext3の領域が見えます。
その領域をext4に変更する事が目的ですが、ログインしたサーバーには以下の特徴があります。

1. ある程度ファイルの書き込みをすると、ファイルシステム全体が突然Read Onlyになってしまう。
yum update
とかを打つと、そうなってどうしようもなくなる。

2.リカバリーモードのシステムは一旦その使用をやめてから、また使い始めると、初期化されてしまっている。

なので、無駄なコマンドは少なく、必要な措置をしていく必要があります。

結果として必要だったコマンドは以下の通り。

# ext3=>ext4をするのに必要なバージョンのe2fsprogsのインストール

yum -y install wget;
yum -y install gcc;
yum -y install make;
wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.7/e2fsprogs-1.42.7.tar.gz;
tar xvfz e2fsprogs-1.42.7.tar.gz; 
cd e2fsprogs-1.42.7;
./configure 
make;
make install;

# ext3からext4に /dev/hdb1の形式変更

tune2fs -O extents,uninit_bg,dir_index /dev/hdb1;
e2fsck -fDC0 /dev/hdb1;

最後に結果としては

e2fsck 1.42.7 (21-Jan-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure 
Pass 3: Checking directory connectivity 
Pass 3A: Optimizing directories 
Pass 4: Checking reference counts 
Pass 5: Checking group summary information 
 
/dev/hdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/hdb1: 60120/26083328 files (0.3% non-contiguous), 1154934/52165055 blocks

と出てくる

Webコンパネにログインして、サーバー起動

サーバーを、停止→起動。
Webコンパネが重くてログインできなくなったり、無反応になったりで、ここで小一時間待つ事になりましたが、何とかFirefoxでログインしてこの操作を完了させました。

ext3の制限が解除された事を確認する

ssh -l $USER $SERVER
で、通常のサーバーにログインしますが、また同じIPでサーバー筐体が変わっているので、
vi ~/.ssh/known_hosts
で同じIPの所の行を削除してからログインします。

そして、
cd /tmp
をして

perl -e 'for(my $i=0;$i<=100000;$i++){mkdir $i;}';

を打ってみます。
それで、今度は3万1千台ではなく、10万のディレクトリが出来た事が確認出来れば、ファイルシステムの移行の完了です。

因みに大量のファイルを生成するベンチマークでは、ext3の時に比べて、ext4時は3倍速の結果になりました。


サーバーを立ち上げてからの設定方法

サーバーを立ち上げてからの設定はどのVPSでも大体共通なので以下の記事をご参照下さい。

サーバーを立ち上げた後の一般的な設定(CentOSの場合)

[tailRanking]