Yamamoto's Laboratory
インストール

Ubuntu server のインストール

起動用USBメモリーの作成

サーバーのOSには,「Ubuntu Server 11.10」を選択しました (後で,14.04にアップグレード).

usbメモリーから Ubuntu Server をインストールします.光学ドライブが不要になり,これは便利です.

UNetbootinというソフトウェアーを使うこともできるようですが,私の環境では失敗しました.失敗した理由は,よく分かりません.そこで,Download Ubuntu Serverの Burn your CD or create a bootable USB stick に書かれている方法で,いつも使っているデスクトップのubuntuを使用して,インストール作業を行いました.

  1. Download Ubuntu Serverから,必要なファイルをダウンロードします.私は,「Ubuntu 11.10-Latest version」「64-bit-(recomended)」をダウンロードしました.
  2. 2Gバイト以上のusbメモリーをPCに差し込んで,FATでフォーマットします.デスクトップ上にusbメモリーのアイコンが現れたら,右クリックで,「フォーマット(F)…」を選択します.タイプは FATとしなくてはなりません.名前は何でも良いですが,私は ubuntu としました.
  3. 次に,デスクトップのubuntuのシステムのシステム管理にある「スタートアップ・ディスクの作成」を起動します.すると,ダイアログ「スタートップ・ディスクの作成」が現れますので,以下のように設定します.設定後,ボタン[スタートアップ・ディスクの作成]をクリックします.
    1. 「インストール元ディスクイメージ(.iso)またはCD:」に先ほど,ダウンロードしたファイル「ubuntu-11.10-server-amd64.iso」を指定します.右下の[その他…]をクリックするとファイル指定のダイアログが現れます.
    2. 「使用するディスク:」は,usbメモリーを指定します.私の場合は,「/dev/sdd1」でした.
    3. 「このUSBディスクから起動した際の,作成した文書や設定の扱い:」は,二つのラジオボタンが選択可能です.どちらでも良いでしょう.

インストール

起動USBメモリーができあがったら,以下のようにして,Ubuntu serverをインストールします.

  1. USBメモリーをインストールするPCに差し込んで,PCを起動します.
  2. BIOSの設定で,USBメモリーを起動デバイスにします.
  3. 質問に答えて,インストール作業を進めます.私のサーバー「Shuttle XS35 V2」では,LANの認識ができなかったので,そこは飛ばしました.
  4. 後でイーサーネットのドライバーをインストールするために,開発環境が必要です.そこで,「build-essential」も合わせて,インストールします.ソフトウェアーの選択のとき,「Manual package selection」を選択して,その後出てくる画面の not installed packagesのツリーのどこかにあります.

LANの問題

私の二代目サーバー(Shuttle XS35 V2)は小さくて格好いいのですが,LANに問題があります.あちらこちらで書かれているように,Linuxをインストールしただけではイーサーネットのが動作しません.さんざん苦労したあげく,以下のようにすれば動作することが分かりました.ただし,開発環境がインストールされている必要があります.

  1. JMicron社のサポートのページからドライバー 「jmebp-1.0.8.5.tar.bz(2012.04.09の最新)」をダウンロードして,USBメモリーに保存します.
  2. 保存した USBメモリーをサーバー(Shuttle XS35 V2)に挿して,マウントします.私のサーバーの場合のコマンドは以下の通りです.
    # mount -t vfat /dev/sdc1 /mnt/USB_mem
    
  3. root になり,以下のコマンドでインストールします(参考).以下の作業では,開発環境が必要です.予めインストールしてください.
    # make
    # make install
    # modprobe -r jme && modprobe jme
    # update-initramfs -u
    
  4. ネットワークの設定を行います.自分の環境に合わせてください.
    # ifconfig eth0 192.168.1.83 netmask 255.255.255.0
    
  5. 以上で,接続できるはずです.残りは,細かい設定を行います.まずは,/etc/network/interfaces を編集します.私の場合は,以下を追加しました.
    auto eth0
    iface eth0 inet static
        address 192.168.1.83
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
    
  6. 最後に DNS の設定です./etc/resolv.conf を編集します.私の場合は,以下の通りです.
    search server
    nameserver 210.XXX.XXX.1
    nameserver 210.XXX.XXX.9
    

ハードディスクの追加

追加

サーバーには,ファイルサーバーやバックアップ用途も考えて,二台のハードディスクがあります.その二台目の追加方法を示します.

  1. まずは,追加されたハードディスクのデバイスファイルを調べます.いろいろの方法がありますが,コマンド「# fdisk -l」を使えば分かります.その出力から,私の場合は,追加のハードディスクは「/dev/sdb」となっていました.二台目だから"b"です.
  2. fdisk を使って,ハードディスクのパーティションの設定を行います.
    # fdisk /dev/sdb   fdikの起動
    
    Command (m for help): n   新しいパーティションを加えます
    Command action
       e   extended
       p   primary partition (1-4)
    p   プライマリーパーティションでOK
    Partition number (1-4, default 1): 1   パーティションはひとつなので,1とする
    First sector (2048-976773167, default 2048):[Enter]   デフォルトでOKなので,Enterキーを押す
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-976773167, default 976773167):[Enter]   デフォルトでOKなので,Enterキーを押す 
    Using default value 976773167
    
    Command (m for help): p   パーティションテーブルの確認
    
    Disk /dev/sdb: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x4ed2ccb3
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048   976773167   488385560   83  Linux
    
    Command (m for help): w   パーティションテーブルに書き込んで,fdiskの終了
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
  3. ext3 でハードディスクをフォーマットします.かなり時間がかかりますが,気長に待ちましょう.
    # mkfs.ext3 -c /dev/sdb1   bad block チェック付きで起動
    mke2fs 1.41.14 (22-Dec-2010)
    /dev/sdb is entire device, not just one partition!
    Proceed anyway? (y,n) y
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    30531584 inodes, 122096646 blocks
    6104832 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    3727 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
            102400000
    
    Checking for bad blocks (read-only test): done                                
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    
    This filesystem will be automatically checked every 22 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    
  4. マウントポイントをつくり,マウントします.
    # mkdir /mnt/backup
    # chmod 777 /mnt/backup
    # cd /mnt
    # mount -t ext3 /dev/sdb1 /mnt/backup/
    
    ここで,きちんとマウントできたことを確認した方が良いでしょう.コマンド「cd /mnt/backup」で新規のハードディスクのディレクトリーに移動し,ファイル「lost+found」があれば,問題なく
  5. OS起動時に追加したハードディスクをマウントするために,ファイル「/etc/fstab」に以下を追加します.
    /dev/sdb1 /mnt/backup  ext3  defaults  1  2
    

以上で,ハードディスクの追加は完了です.PCを再起動して,きちんとマウントできることを確認した方が良いでしょう.

設定(ハードディスクのスピンドル停止時間)

追加したハードディスクは,ほとんどアクセスしません.たぶん,1[回/週]アクセスするかしないかです.そのために,スピンドルを回しておくのはばからしいです.寿命にも関わるし,騒音・熱の発生源にもなります.せっかくファンレスサーバーにしたので,騒音は何とかしたいです.

コマンド「hdparm」を使えば,スピンドルを止めることができます.hdparm は,「# apt-get install hdparm」でインストールできます.コマンド「hdparm」の主に使うオプションを含めた使い方は以下の通りです.

hdparm の使い方.ハードディスクは,/dev/sdb と仮定しています.
コマンド オプション HDD 内容
hdparm -I /dev/sdb HDDの詳細情報を表示.
hdparm -C /dev/sdb HDDの電源モードの確認.
active/idle:通常,standby:低電力(スピンドル停止),sleeping:完全停止.
hdparm -tT /dev/sdb ベンチマーク.
hdparm -y /dev/sdb 強制的に Standby(スピンドル停止)モードに.
hdparm -Y /dev/sdb 強制的に Sleep(HDD完全停止)モードに.
hdparm -S10 /dev/sdb HDDが Sleep モードになる時間設定.10だと50秒後に Sleep.

直接コマンド「hdparm -S240 /dev/sdb」をたたき,Standby モードになる時間を設定することも可能ですが,ファイル「/etc/hdparm.conf」に記載する方が良いでしょう.このファイルに記載すると,起動時に Standby になる時間が設定されます.以下のように,ファイルの最後に書き加えます.

/dev/sdb {
         spindown_time = 240
}

この 240 で20分(240×5/60=20)後に,Standby モードになります.時間指定は複雑で,コマンド「man hdparm」のオプション -S のところに書かれています(日本語訳はここ).

ページ作成情報

参考資料

更新履歴

2012年06月 ページの新規作成


no counter