サーバを拡張してみよう - 「楽しいさくらのクラウド」(4)

連載「楽しいさくらのクラウド」、前回の「サーバを作ってみよう」では、さくらのクラウドを活用する際の基本となる単体のサーバの作成方法について解説しました。

今回は、前回作成した最小構成のサーバへの複数のディスクやNICの追加、CPUのスペックアップやメモリの増設など、いろいろなカスタマイズをしたいと思います。すでに構築済みのサーバであっても、後から自由自在に構成を変えることが可能であり、また、これらの変更が一瞬で完了するのは、物理構成のサーバには無いIaaSならではの特長と言えます。

サーバ構成 拡張計画

それでは今回の拡張計画を作成してみましょう。前回作成したサーバ1台の構成を基に、これを拡張していく形となります。

追加が必要なリソース

今回の拡張に伴い、新たに必要となるリソースは以下の通りです。

  • 100GB HDD 1台
  • NIC(ネットワークインタフェースカード) 1枚

これらはコントロールパネル上で新たに作成する必要があります。

変更が必要なリソース

すでに作成済みのリソースで、スペックの変更が必要となるリソースは以下の通りです。

  • サーバ(プラン変更) 1CPU/1GBメモリ → 2CPU/2GBメモリ

サーバごとに搭載されるCPUとメモリは、組み合わせによりサーバのプラン名として決まっています(参考: 「サービス仕様・料金」)。そのため、CPUとメモリは分別せず、サーバに付随するひとつのリソースとして考えることとします。

コントロールパネルの操作の流れ

ここでは

  1. 追加するリソースの新規作成
  2. サーバの停止
  3. コントロールパネルでの追加リソースの接続・リソースのスペック変更
  4. 追加リソースを使用するためのサーバ設定

の流れで進めていきたいと思います。今回は説明のためにひとつずつリソースを追加していますが、実際にはサーバの停止を最小限にするため、複数のリソースの接続や変更を一度に行うことももちろん可能です。

ディスクの追加

まずは、サーバに100GB HDDを追加してみましょう。

1. 100GBのハードディスクを作成する

サーバへのディスク接続作業を行う前に、新たなリソースとなる100GB HDDを作成しておく必要があります。ここでは順を追って作成の流れをまとめたいと思います。

画面上部メインメニュー内の「ストレージ」をクリックすると、メイン画面に「ディスク一覧」が表示されます。この一覧画面では、サーバにアタッチ(接続)された状態のものを含め、現在のアカウントで作成済みのディスクがすべて表示されます。

上の例では、前回作成したサーバに接続されているディスクが1台表示されています。このように、サーバに接続されたディスクについては、リストの「サーバ」カラム内に接続先サーバ名が表示されます。

前回はサーバに接続する1台目のディスクとしてサーバ作成時に同時に作成しましたが、今回は単独でディスク1台を作成するので、こちらの「ストレージ」の画面より新規ディスクの作成を行います。上のディスク一覧画面右上にある「追加」ボタンをクリックし、ディスクの作成を開始します。

ディスク追加画面では以下のような設定項目があります。これらの設定項目はサーバ作成時と同じ内容となります(詳細は前回の記事を参照してください)。また、ディスクプランやディスクサイズを設定するたびに画面上部の料金表が変動するので、作成時の参考として合わせてご活用ください。

■ ディスクプラン

今回追加となるディスクはHDDとなるため「標準プラン」を選択します。

■ ディスクインターフェース

1台目のディスクと同様のディスクインターフェースである「Virtio」を選択します。

■ ディスクソース

何もデータが入ってないディスクを使用するので「ブランク」を選択します。

各項目の選択、入力が完了したら、右上の「作成」ボタンをクリックし、ブランクディスクの作成を開始します。

作成完了後、ディスク一覧画面に今回追加したディスクが表示されることを確認してください。

2. サーバを停止

ディスクを追加したいサーバをシャットダウンします。サーバにログインしたり、リモートスクリーン画面からshutdownコマンドを使用してシャットダウンを行うほか、サーバがACPI機能に対応していれば、一覧画面で停止したいサーバを選択して「シャットダウン」ボタンをクリックしてシャットダウンすることも可能です。

シャットダウン操作後、サーバ一覧画面でサーバのステータスが「DOWN」になっていることを確認してください。

3. サーバへ追加ディスクを接続

今回作成したディスクをサーバに接続します。サーバ詳細画面より「ディスク」タブを開き、右下の「接続」ボタンをクリックします。

接続したいディスクの選択画面が表示されるので、今回作成したディスクを選択し「接続」ボタンをクリックします。

接続に成功すると、先ほどのサーバの「ディスク」タブ画面に、追加したディスクが表示されます。

なお、ディスクの接続を解除したい場合は、リスト右側の「×」ボタンをクリックします。ディスクの接続解除の場合もサーバが停止状態である必要があります。

4. サーバの起動と確認

ディスク接続後、「起動」ボタンをクリックしてサーバを起動します。

今回新たにアタッチしたディスクは、サーバ側では新たなVirtioデバイスが接続されたように認識されます。OSブート用の1台目のディスクのデバイス名が/dev/vdaなので、今回接続されたディスクのデバイス名は/dev/vdbとなります。まずはfdiskコマンドでデバイスの情報を確認してみましょう。

# fdisk -l /dev/vdb

Disk /dev/vdb: 107.4 GB, 107374182400 bytes
16 heads, 63 sectors/track, 208050 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

fdiskの"-l"オプションはデバイスの詳細な情報を表示するオプションです。今回は"-l"に続き、接続したディスクのデバイス名"/dev/vdb"を指定します。出力結果より、/dev/vdbが正しく約100GBのディスクとして認識されていることが分かります。

5. 新たなディスクを使用するための設定

現在はディスクが仮想的な物理インタフェースに接続されただけの状態となっています。しかし、ディスクにはファイルシステムが作成されておらず、そのままではOS上でディスク領域として読み書きすることができません。そこで、/dev/vdbをLinuxで読み書きが可能なファイルシステムへフォーマットを行い、マウント可能な状態とする作業を行います。今回の例では「/dev/vdb全てをひとつの領域としてext4フォーマットで使用する」方針とします。

まず、ext4フォーマットを行うためmkfs.ext4コマンドにデバイス名を引数にして実行します。

# mkfs.ext4 /dev/vdb

画面にはフォーマットの進捗状況が随時表示されます。100GBのディスクであれば数分でフォーマットが完了するはずです。フォーマットが正常に完了し、コマンド実行の終了を確認したら、いよいよmountコマンドでマウントしてみましょう。

# mkdir /data
# mount -t ext4 /dev/vdb /data

mountコマンドは、-tオプションの後にファイルシステムの形式、続いてマウントしたいディスクのデバイス名とマウントポイントを指定します。今回は/dataというディレクトリを作成し、ここに今回接続した100GBディスクをマウントすることとします。mountコマンド実行後、特に何も表示されなければマウントは完了です。

dfコマンドで確認すると、/dataに100GBのディスクがマウントされたことが確認できます。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda3              18G  1.4G   16G   9% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/vda1              98M   28M   65M  31% /boot
/dev/vdb               99G  188M   94G   1% /data

あとはブート用ディスクと同様、追加ディスクの領域である/dataを自由に利用できるようになります。続いて、次回のサーバ再起動時に自動的に/dataがマウントされるように/etc/fstabファイルに以下の行を追記します。

/dev/vdb                /data                   ext4    defaults        0 2

※ここでは記述内容の詳細は割愛します

NICの追加

続いて、NICを追加してみましょう。今回追加したNICは次回以降の連載で活用する予定ですので、今回は回線を接続せずにNICの追加だけを行います。なお、追加NICの利用料金は無料です。

1. サーバを停止

ディスク接続時と同様、NICの追加の前にサーバを停止する必要があります。shutdownコマンドなどでサーバをシャットダウンさせておいてください。

2. NICの追加

サーバ一覧画面を表示します。対象サーバのステータス欄が「DOWN」の表示となっていることを確認後、「NIC」タブを選択します。ここでは現在サーバに接続されているNICの一覧が表示されます。今回は新たなNICの取付を行うので、右下の「追加」ボタンをクリックします。

NICの追加には特に設定はなく、追加ボタンのクリックでサーバに追加されます。追加されると、NICが2枚表示されます。

3. サーバの起動と確認

追加後にサーバを起動すると、NICが2枚接続された状態となります。ifconfigコマンドを実行すると、新たにeth1デバイスが認識されていることが確認できます。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:133.242.xx.xx  Bcast:133.242.xx.xx  Mask:255.255.255.0
          inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:250 errors:0 dropped:0 overruns:0 frame:0
          TX packets:153 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20020 (19.5 KiB)  TX bytes:46288 (45.2 KiB)

eth1      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:106 (106.0 b)  TX bytes:106 (106.0 b)

CPU変更・メモリ増設(プランの変更)

最後にCPUの変更とメモリの増設を行いましょう。

1. サーバの停止

ディスクやNICの増設時と同様、一旦サーバをシャットダウンします。

2. プラン変更

サーバのリストからサーバを選択し、詳細画面を開きます。右上に「プラン変更」ボタンが表示されるので、このボタンをクリックします。

プラン変更後のCPU個数、メモリ数を選択するダイアログ画面が表示されるので、それぞれ変更したい値を指定し、「プラン変更」ボタンをクリックします。

3. プラン変更の確認

プラン変更操作が完了したら、サーバの情報画面でCPU個数、メモリ数が変更されていることを確認できます。

また、サーバを起動し、内部の情報よりCPU個数やメモリ数を確認してみましょう。CPU個数は/proc/cpuinfoファイルの内容より確認が可能です。

# cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
stepping        : 7
cpu MHz         : 2499.998
cache size      : 4096 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx lm constant_tsc arch_perfmon unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm xsaveopt
bogomips        : 4999.99
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
stepping        : 7
cpu MHz         : 2499.998
cache size      : 4096 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx lm constant_tsc arch_perfmon unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm xsaveopt
bogomips        : 4999.99
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

このように、processor番号が0と1の2個のCPU情報が表示されています。続いてメモリ数の確認です。freeコマンドに-mオプションを付与して実行すると、搭載する物理メモリ数とswap領域の大きさや使用量がMB単位で表示されます。

[root@web01 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2006        117       1888          0          7         38
-/+ buffers/cache:         71       1935
Swap:         2048          0       2048

次回予告

今回は単体のサーバのカスタマイズを解説しました。ディスクやメモリの増設だけでも大きくカスタマイズの幅が広がります。ぜひともお試しください。次回はネットワーク構成の拡張について解説する予定です。

>>NICの追加・削除(サポートサイト)

▼「楽しいさくらのクラウド」シリーズ・バックナンバー
(1)クラウドってなに?
(2)コントロールパネルをさわってみよう
(3)サーバを作ってみよう
(4)サーバを拡張してみよう
(5)スイッチを使ってローカルネットワークを構築してみよう
(6)ルータ+スイッチを使ったネットワークを構築してみよう
(7)スタティックルーティング機能を使ってVyatta & Linuxルータを構築してみよう
(8)アーカイブ・ISOイメージ機能を活用してみよう

おしらせ