読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】新しいディスクをつないだのにマウントできん。パーティション・mkfs・fsck の順番【LPICレベル1】

19レスカテゴリ:Linux
1: 名無しさん

サーバーに新しいディスクをつないで /dev/sdb として見えた
mount /dev/sdb /data したら、ファイルシステムの種類が分からんってエラーになった

2: 名無しさん

>>1
買ったばかりのディスクは中身が空で、ファイルを置くための仕組み(ファイルシステム)がまだない
順番は、パーティションを切る → ファイルシステムを作る → マウントする

3: 名無しさん

>>2
パーティションはどうやって切るん

4: 名無しさん

>>3
fdisk /dev/sdb、gdisk /dev/sdb、parted /dev/sdb など
区切り方の表には MBR と GPT の2種類がある。MBR は古い形式で、ディスクが2TiBまで・基本パーティションが4つまで。GPT はそういう制限がほぼなく、UEFI の起動にも使う
gdisk は GPT 用、fdisk は今は両方扱える

5: 名無しさん

>>4
切ったら /dev/sdb1 ができるんか

6: 名無しさん

>>5
そう。そこに mkfs でファイルシステムを作る
mkfs -t ext4 /dev/sdb1 か mkfs.ext4 /dev/sdb1。XFS なら mkfs.xfs、USBメモリ向けなら mkfs.vfat や mkfs.exfat

7: 名無しさん

>>6
mkfs はその場所の中身を消す。デバイス名を間違えると、使ってるディスクが空になる
実行する前に lsblk でサイズとマウント先を見て、どれが新しいディスクか確かめる

8: 名無しさん

スワップ用のパーティションも同じ?

9: 名無しさん

>>8
スワップは mkfs じゃなくて mkswap /dev/sdb2 で準備して、swapon /dev/sdb2 で使い始める
swapon --show か free で、使われてるか確かめられる

10: 名無しさん

fsck はどういうときに使うん

11: 名無しさん

>>10
電源が急に落ちたあとなど、ファイルシステムの中の管理情報に食い違いがないか調べて直すとき
fsck /dev/sdb1 は、種類に合わせて e2fsck などを呼び出す。ext 系を必ず調べさせるなら e2fsck -f /dev/sdb1

12: 名無しさん

>>11
マウントしたままやってもええの?

13: 名無しさん

>>12
あかん。書き込み中のファイルシステムを直そうとすると、かえって壊すことがある
アンマウントしてからやる。/ のように外せない場所は、起動時の自動チェックか、レスキュー用の環境から

14: 名無しさん

>>13
ext4 ならジャーナルがあるんやから、fsck なんてほぼ要らんやろ

15: 名無しさん

>>14
ジャーナルのおかげで、急に落ちても短い時間で整合性を戻せることが多いのはそのとおり
でもディスクの不良やソフトの不具合による壊れ方はジャーナルでは防げない。要る場面が減っただけで、なくなってはない

16: 名無しさん

XFS も fsck でええの?

17: 名無しさん

>>16
XFS は xfs_repair を使う。fsck.xfs はふだん呼ばれても何もせずに終わるように作られてる
ext 系は tune2fs で設定を見たり変えたりできる。tune2fs -l /dev/sdb1 で情報表示、-L でラベル

18: 名無しさん

空き容量の確認は?

19: 名無しさん

>>18
df -h でファイルシステムごとの空き、du -sh /data でそのディレクトリが使ってる量
df -i で inode(ファイル1個ごとの管理情報)の空きも見る。小さいファイルが大量にあると、容量が残ってても inode が尽きて新しいファイルを作れなくなる

管理人のひとこと