ネットでLinuxにHDDを追加する手順を検索すると、いくらでも引っかかってきますよね。
でも、最初の一歩が今一恐いんです。
追加されたデバイスはどれかな?とかw
ということで、少し面倒ですが、最初に追加したデバイスを特定することから始めます。
1)追加されたデバイスの確認
ということで、dfコマンドでパーティションを確認してみた。
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6-lv_root
48933704 31009112 15432176 67% /
tmpfs 1962136 0 1962136 0% /dev/shm
/dev/sda1 487652 137399 324653 30%
↑「sda1」パーティションが接続されている。「sda」がデバイス名
/boot
dfコマンドの情報から、sdaデバイスが既に使用されているデバイス名であることが解る。
次に、デバイスを確認してみます。
# ls -la /dev/disk/by-path/
合計 0
drwxr-xr-x. 2 root root 140 6月 9 16:46 2016 .
drwxr-xr-x. 5 root root 100 6月 9 16:46 2016 ..
lrwxrwxrwx. 1 root root 9 6月 9 16:46 2016 pci-0000:00:07.1-scsi-1:0:0:0 -> ../../sr0
lrwxrwxrwx. 1 root root 9 6月 9 16:46 2016 pci-0000:00:10.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx. 1 root root 10 6月 9 16:46 2016 pci-0000:00:10.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 6月 9 16:46 2016 pci-0000:00:10.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx. 1 root root 9 6月 11 18:58 2016 pci-0000:00:10.0-scsi-0:0:1:0 -> ../../sdb
「sdb」デバイスが認識されている。
これで、この後設定を施す先のデバイスが「sdb」であることが明確になりました。
2)fdiskでパーティションの設定
デバイスが特定されたことで、安心して対象のデバイスにパーティションを作ったり、フォーマット(初期化)を行うことが出来ます。
fdiskでパーティションの設定を行います。
デバイスを指定して、コマンドの一覧を確認してみます。
# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0x6af12e42 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります
警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
コマンド (m でヘルプ):
次に、パーティションの「領域テーブルを表示する」で、状態を確認出来ます。
コマンド (m でヘルプ): p
ディスク /dev/sdb: 214.7 GB, 214748364800 バイト
ヘッド 255, セクタ 63, シリンダ 26108
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x6af12e42
デバイス ブート 始点 終点 ブロック Id システム
コマンド (m でヘルプ):
まだ、パーティションが設定されていませんので、何も表示されません。
では、パーティションを設定しましょう!
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-26108, 初期値 1): <=== デフォルトままで良いです。
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-26108, 初期値 26108): <===こちらもデフォルトのままです。
初期値 26108 を使います
コマンド (m でヘルプ): p <==設定内容を確認します。
ディスク /dev/sdb: 214.7 GB, 214748364800 バイト
ヘッド 255, セクタ 63, シリンダ 26108
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x6af12e42
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 26108 209712478+ 83 Linux
↑↑↑↑↑↑ パーティションの設定が追加されました。
コマンド (m でヘルプ): w <==設定を確認したら、書き込み(反映)を行います。
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
3)ファイルシステムを作成します。
パーティションに対して、ファイルシステムを設定します。
ファイルシステムには幾つかの選択肢があります。
ファイルシステム毎に特徴がありますので、自分に合ったファイルシステムを選択してください。
以下ではext4でファイルシステムを作成します。
CentOS7ではxfsがデフォルトになっている様ですが、安定性を重視してext4にしました。
さて、手順は以下の通りです。
# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428119 blocks
2621405 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1600 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
あっと言う間に終わっちゃいました(^^ゞ
昔は遅かったのに。。。。速くなったものですw
# cd /
# mkdir data
[root@centos6 /]# mount -o noatime /dev/sdb1 /data
[root@centos6 /]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6-lv_root
47787 30284 15070 67% /
tmpfs 1917 0 1917 0% /dev/shm
/dev/sda1 477 135 318 30% /boot
/dev/sdb1 201457 60 191157 1% /mnt/sdb1
これで、ディスクがマウントされ自由に読み書きできる環境設定が終わりました。
でも、これでは再起動した際にマウントし直さなければなりません。
故に、再起動しても大丈夫なように設定を行います。
4)fstabに設定を追加して、再起動しても大丈夫w
# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Nov 6 11:33:42 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_centos6-lv_root / ext4 defaults 1 1
UUID=e93c0f2c-1d1a-4f12-a5cb-bb0316df53ca /boot ext4 defaults 1 2
/dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /mnt/sdb1 ext4 defaults 0 0
↑↑↑↑↑ 最後の行を記述する。
以上で、新規ディスクの追加設定が完了しました。