サーバーに新しいディスクをつないで /dev/sdb として見えたmount /dev/sdb /data したら、ファイルシステムの種類が分からんってエラーになった
【疑問】新しいディスクをつないだのにマウントできん。パーティション・mkfs・fsck の順番【LPICレベル1】
>>1
買ったばかりのディスクは中身が空で、ファイルを置くための仕組み(ファイルシステム)がまだない
順番は、パーティションを切る → ファイルシステムを作る → マウントする
>>2
パーティションはどうやって切るん
>>3fdisk /dev/sdb、gdisk /dev/sdb、parted /dev/sdb など
区切り方の表には MBR と GPT の2種類がある。MBR は古い形式で、ディスクが2TiBまで・基本パーティションが4つまで。GPT はそういう制限がほぼなく、UEFI の起動にも使う
gdisk は GPT 用、fdisk は今は両方扱える
>>4
切ったら /dev/sdb1 ができるんか
>>5
そう。そこに mkfs でファイルシステムを作るmkfs -t ext4 /dev/sdb1 か mkfs.ext4 /dev/sdb1。XFS なら mkfs.xfs、USBメモリ向けなら mkfs.vfat や mkfs.exfat
>>6
mkfs はその場所の中身を消す。デバイス名を間違えると、使ってるディスクが空になる
実行する前に lsblk でサイズとマウント先を見て、どれが新しいディスクか確かめる
スワップ用のパーティションも同じ?
>>8
スワップは mkfs じゃなくて mkswap /dev/sdb2 で準備して、swapon /dev/sdb2 で使い始めるswapon --show か free で、使われてるか確かめられる
fsck はどういうときに使うん
>>10
電源が急に落ちたあとなど、ファイルシステムの中の管理情報に食い違いがないか調べて直すときfsck /dev/sdb1 は、種類に合わせて e2fsck などを呼び出す。ext 系を必ず調べさせるなら e2fsck -f /dev/sdb1
>>11
マウントしたままやってもええの?
>>12
あかん。書き込み中のファイルシステムを直そうとすると、かえって壊すことがある
アンマウントしてからやる。/ のように外せない場所は、起動時の自動チェックか、レスキュー用の環境から
>>13
ext4 ならジャーナルがあるんやから、fsck なんてほぼ要らんやろ
>>14
ジャーナルのおかげで、急に落ちても短い時間で整合性を戻せることが多いのはそのとおり
でもディスクの不良やソフトの不具合による壊れ方はジャーナルでは防げない。要る場面が減っただけで、なくなってはない
XFS も fsck でええの?
>>16
XFS は xfs_repair を使う。fsck.xfs はふだん呼ばれても何もせずに終わるように作られてる
ext 系は tune2fs で設定を見たり変えたりできる。tune2fs -l /dev/sdb1 で情報表示、-L でラベル
空き容量の確認は?
>>18df -h でファイルシステムごとの空き、du -sh /data でそのディレクトリが使ってる量df -i で inode(ファイル1個ごとの管理情報)の空きも見る。小さいファイルが大量にあると、容量が残ってても inode が尽きて新しいファイルを作れなくなる
管理人のひとこと
- 新しいディスクは、パーティションを切る(fdisk・gdisk・parted、MBR か GPT)→ mkfs でファイルシステムを作る → マウントする、の順。スワップは mkswap と swapon。
- mkfs は中身を消すので、lsblk でデバイスを確かめてから実行する。
- fsck(ext 系は e2fsck -f)はアンマウントしてから。XFS は xfs_repair、ext 系の設定は tune2fs。空きは df -h と du -sh、inode は df -i。