CentOSにHDDを増設する

今回HDDを増設する作業がでたので、CentOSで先に実験してみました。
(本番機はFedora8なのですが・・・)

正直何もわからない所からだったので、1番はまったのが最初の部分で
HDDを増設して認識された時点で「容量0で自動マウントされる」所でした。

という事で、以下のソースは自動マウントされたhdb1を削除してから
最後に「/home」をマウントさせて終了しています。

[root@test ~]# fdisk /dev/hdb

このディスクのシリンダ数は 9729 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

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

コマンド (m でヘルプ): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hdb1               1        9729    78148161    7  HPFS/NTFS

コマンド (m でヘルプ):

コマンド (m でヘルプ): d 1
No partition is defined yet!

コマンド (m でヘルプ): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System

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

コマンド (m でヘルプ): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hdb1               1        9729    78148161   83  Linux

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

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

続いてHDDの初期化

[root@test ~]# mkfs -t ext3 /dev/hdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
9781248 inodes, 19537040 blocks
976852 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
597 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

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

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

んで問題が無いか、マウントしてテストしてみます。

[root@test ~]# mount /dev/hdb1 /mnt/testhdd
[root@test ~]# df -m
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                         29139      2678     24957  10% /
/dev/hda1                   99        12        82  13% /boot
tmpfs                      506         0       506   0% /dev/shm
/dev/hdb1                75118       180     71122   1% /mnt/testhdd

[root@test ~]# umount /mnt/testhdd/
[root@test ~]# df -m
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                         29139      2678     24957  10% /
/dev/hda1                   99        12        82  13% /boot
tmpfs                      506         0       506   0% /dev/shm

マウントにも問題が無いようなので、「/home」配下のデータを「/home_bak」に
退避してから「/home」をマウントして、データを戻す作業をしています。
(こうしないと/homeの内容を移動できない為) 

最後は起動時に自動マウントするようにfstabに設定しています。

mkdir /home_bak
mv /home/* /home_bak/

[root@test /]# ll /home_bak/
合計 24
drwxrwxrwx 4 endo      endo      4096  9月 20 18:46 endo
drwxr-xr-x 3 ito       ito       4096  9月 20 18:48 ito
drwxr-xr-x 4 kimura    kimura    4096  9月 20 18:49 kimura
drwxr-xr-x 4 root      root      4096  9月 20 18:54 samba
drwx—— 3 takeshima takeshima 4096  9月 20 18:50 takeshima
drw-rw-rw- 3 watanabe  watanabe  4096  9月 20 18:50 watanabe

[root@test /]# mount /dev/hdb1 /home
[root@test /]# ll /home
合計 16
drwx—— 2 root root 16384  9月 20 19:30 lost+found
[root@test /]# df -m
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                         29139      2678     24957  10% /
/dev/hda1                   99        12        82  13% /boot
tmpfs                      506         0       506   0% /dev/shm
/dev/hdb1                75118       180     71122   1% /home

[root@test /]# mv /home_bak/* /home/
[root@test /]# ll /home/
合計 40
drwxrwxrwx 4 endo      endo       4096  9月 20 18:46 endo
drwxr-xr-x 3 ito       ito        4096  9月 20 18:48 ito
drwxr-xr-x 4 kimura    kimura     4096  9月 20 18:49 kimura
drwx—— 2 root      root      16384  9月 20 19:30 lost+found
drwxr-xr-x 4 root      root       4096  9月 20 18:54 samba
drwx—— 3 takeshima takeshima  4096  9月 20 18:50 takeshima
drw-rw-rw- 3 watanabe  watanabe   4096  9月 20 18:50 watanabe

[root@test /]# vi /etc/fstab
/dev/hdb1               /home                   ext3    defaults        1 2

ちゃんと階層や権限・ユーザ設定をサンプルで作成していたので、
それに間違いが無い事がわかったので、最後に再起動して
ちゃんと動いている事を確認して、退避用フォルダ(/home_bak)を
削除して終了♪

[root@test ~]# df -m
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                         29139      2678     24957  10% /
/dev/hda1                   99        12        82  13% /boot
tmpfs                      506         0       506   0% /dev/shm
/dev/hdb1                75118       181     71122   1% /home

[root@test ~]# ll /
合計 146
drwxr-xr-x   2 root root  4096  9月 20 07:12 bin
drwxr-xr-x   4 root root  1024  9月 20 07:08 boot
drwxr-xr-x  12 root root  4280  9月 20 19:45 dev
drwxr-xr-x  99 root root 12288  9月 20 19:44 etc
drwxr-xr-x   9 root root  4096  9月 20 19:39 home
drwxr-xr-x   2 root root  4096  9月 20 19:39 home_bak
drwxr-xr-x  13 root root  4096  9月 20 07:12 lib
drwx——   2 root root 16384  9月 20 07:00 lost+found
drwxr-xr-x   2 root root  4096  3月 10  2009 media
drwxr-xr-x   2 root root     0  9月 20 19:44 misc
drwxr-xr-x   3 root root  4096  9月 20 19:04 mnt
drwxr-xr-x   2 root root     0  9月 20 19:44 net
drwxr-xr-x   2 root root  4096  3月 10  2009 opt
dr-xr-xr-x 134 root root     0  9月 20 19:43 proc
drwxr-x—  17 root root  4096  9月 20 19:45 root
drwxr-xr-x   2 root root 12288  9月 20 07:11 sbin
drwxr-xr-x   2 root root  4096  9月 20 07:01 selinux
drwxr-xr-x   2 root root  4096  3月 10  2009 srv
drwxr-xr-x  11 root root     0  9月 20 19:43 sys
drwxrwxrwt  10 root root  4096  9月 20 19:45 tmp
drwxr-xr-x  14 root root  4096  9月 20 07:06 usr
drwxr-xr-x  21 root root  4096  9月 20 07:16 var
[root@test ~]# rm -R -f /home_bak/
[root@test ~]# ll /
合計 142
drwxr-xr-x   2 root root  4096  9月 20 07:12 bin
drwxr-xr-x   4 root root  1024  9月 20 07:08 boot
drwxr-xr-x  12 root root  4280  9月 20 19:45 dev
drwxr-xr-x  99 root root 12288  9月 20 19:44 etc
drwxr-xr-x   9 root root  4096  9月 20 19:39 home
drwxr-xr-x  13 root root  4096  9月 20 07:12 lib
drwx——   2 root root 16384  9月 20 07:00 lost+found
drwxr-xr-x   2 root root  4096  3月 10  2009 media
drwxr-xr-x   2 root root     0  9月 20 19:44 misc
drwxr-xr-x   3 root root  4096  9月 20 19:04 mnt
drwxr-xr-x   2 root root     0  9月 20 19:44 net
drwxr-xr-x   2 root root  4096  3月 10  2009 opt
dr-xr-xr-x 134 root root     0  9月 20 19:43 proc
drwxr-x—  17 root root  4096  9月 20 19:45 root
drwxr-xr-x   2 root root 12288  9月 20 07:11 sbin
drwxr-xr-x   2 root root  4096  9月 20 07:01 selinux
drwxr-xr-x   2 root root  4096  3月 10  2009 srv
drwxr-xr-x  11 root root    
0  9月 20 19:43 sys
drwxrwxrwt  10 root root  4096  9月 20 19:45 tmp
drwxr-xr-x  14 root root  4096  9月 20 07:06 usr
drwxr-xr-x  21 root root  4096  9月 20 07:16 var

感想としては、思ったよりも簡単だった! ですね(´▽`*)
まぁ、情報サイトを参考にして部分的に抜き出してやっているので
当たり前といえば当たり前なのですが・・・w

後は本番で何も起こらない事を・・・
(そう思いながらもFedora8では試す気がない自分って)

追記———————————————————————————

CentOSで試していた中の方法で、新しいHDDを「/homebk」でマウントして
データを入れてから、アンマウント・「/home」でマウントしたら先に入れた
データが表示されなかった。
この為、マウントする時の名前が違う場合、同じHDDを見てるのに
中身が表示されないと思っていました。
結果として微妙なのですが、Fedora8ではデータの移行後に「/home」を
「/home2」にリネームして、再度「mkdir /home」を作成してマウントすると
新しいHDDに先に入れておいたデータが表示されました。

自分の確認が甘かったのか、同じ名前のフォルダをそのまま使ったのが
いけないのか、微妙な感じですが、とりあえず手順としてまとめると
以下の方法が一番手堅いようです。

mkdir /mnt/homebk
mount /dev/hdb1 /mnt/homebk
cp -a /home/* /mnt/homebk
umuont /mnt/homebk
mv -R /home /homebk
mkdir /home
mount /dev/hdb1 /home

カテゴリー: Linux パーマリンク