YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

新しくHDDを追加したときにすること

動機

会社でPCサーバに新しい1TB 3.5inch SATA HDDを追加することになったものの、何気にHDD増設するの初めてだったり*1、いろいろ設定周り忘れてたんでメモ。

作業

HDDの接続

とりあえず当然ながら電源は切る。
HDDの接続自体は各筐体で違いますが、とりあえずドライブベイの専用ラックにHDDをはめてからセット。筐体に電源ケーブルははじめから刺さっていたのでそれをつないで、SATAケーブルは使われていないマシンから引っこ抜いて調達。
そしてマシンを再起動。

HDDフォーマット&マウント

まず接続されているか確認。

# fdisk -l
Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14       30401   244091610   8e  Linux LVM

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
ディスク /dev/sda は正常な領域テーブルを含んでいません

/dev/sdaに接続されている旨確認できたので、今度はパーティションテーブル作成。

# fdisk /dev/sda
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601):
Using default value 121601

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

パーティションテーブル作成が終わったのでフォーマット。

# mkfs.ext3 /dev/sda1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122109952 inodes, 244190000 blocks
12209500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=247463936
7453 block groups
32768 blocks per group, 32768 fragments per group
16384 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, 214990848

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ディスクをマウント。

# mkdir /mnt/sda  <-- マウントポイント作成
# mount /dev/sda1 /mnt/sda

次回以降再起動しても自動でマウントするように設定。

# vi /etc/fstab
...
/dev/sdb1       /mnt/sdb        ext3    defaults        1 2
...
sambaで公開する
# vi /etc/samba/sbm.conf
...
hosts allow = 10. <--- 10.ではじまるIP Addressを許可
...
[public]
    comment = samba directory
    path = /work
    writable = yes
...
# service smb restart
NFSで公開する

まず公開する設定。下記の10.0.0.0から255.0.0.0までのIP Addressに対して公開。詳しくは下記リンク参照。

# vi /etc/exports
...
/work           10.0.0.0/255.0.0.0(rw,insecure)
...
# service nfs start <---- NFSがあがっていない場合
# exportfs -ra <---- NFSがあがっている場合

*1:自分、ハードウェアほとんど触りません