はじめに
ディスクのパーティション作成から、ファイルシステム作成、マウント、スワップの設定のメモです。
CentOS 8ですが、RHEL 8でも同じだと思います。
ブロックデバイスの確認
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 11G 0 part
├─cl-root 253:0 0 9.8G 0 lvm /
└─cl-swap 253:1 0 1.2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
sdc 8:32 0 1G 0 disk
sr0 11:0 1 57M 0 rom
3本のディスクと1つのCDROMがある。
命名規則
種類 | ブロックデバイス |
---|---|
SATA/SAS | /dev/sda, /dev/sdb, ・・・ |
virtio-blk準仮想化ストレージ | /dev/vda, /dev/vdb, ・・・ |
NVMe | /dev/nvme0, /dev/nvme1, ・・・ |
SDカード | /dev/mmcblk0, /dev/mmcblk1, ・・・ |
ただし、/dev/sd* 形式で表示されるvirtio-scsi 準仮想化ストレージもある。
今回はVirtualBoxの仮想環境だが、/dev/sd* 形式で表示されている。
ディスクパーティションの管理
ディスクパーティションの種類
以下二つのパーティションがある
- MBRパーティション
- GPTパーティション
MBRパーティション | GPTパーティション | |
---|---|---|
最大パーティション数 | 4つの基本パーティション。拡張パーティションと論理パーティションを使用すると最大15個 | 128 |
ディスクとパーティションの最大サイズ | 2TiB | 8ZiB |
パーティションの表示
# parted /dev/sda print
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sda: 12.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 1075MB 1074MB primary ext4 boot
2 1075MB 12.9GB 11.8GB primary lvm
パーティションの作成
MBRパーティション
対話モード
# parted /dev/sdb
GNU Parted 3.2
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print
エラー: /dev/sdb: ディスクラベルが認識できません。
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: unknown
ディスクフラグ:
(parted) mklabel
新しいディスクラベル? msdos
(parted) mkpart
パーティションの種類? primary/プライマリ/extended/拡張? primary
ファイルシステムの種類? [ext2]? xfs
開始? 2048s
終了? 100MB
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
以下のようにワンライナーでも作成可能。
parted /dev/vdb mkpart primary xfs 2048s 1000MB
mkpartを繰り返して以下を作成。mklabelはディスクに対する設定なので、一回だけ。
# parted /dev/sdb print
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 99.6MB 98.6MB primary
2 101MB 200MB 99.6MB primary
3 201MB 300MB 98.6MB primary
4 401MB 500MB 99.6MB primary
GPTパーティション
対話モード
# parted /dev/sdc
GNU Parted 3.2
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel
新しいディスクラベル? gpt
(parted) mkpart
パーティションの名前? []? par1
ファイルシステムの種類? [ext2]? xfs
開始? 2048s
終了? 101MB
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
以下のようにワンライナーでも作成可能
# parted /dev/vdb mkpart usersdata xfs 2048s 1000MB
mkpartを繰り返して以下を作成。mklabelはディスクに対する設定なので、一回だけ。
# parted /dev/sdc print
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sdc: 1074MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 101MB 99.6MB par1
2 102MB 201MB 99.6MB par2
3 202MB 301MB 98.6MB par3
4 302MB 401MB 98.6MB par4
5 402MB 501MB 99.6MB par5
6 502MB 601MB 98.6MB par6
7 602MB 701MB 99.6MB par7
ファイルシステムの作成
ファイルシステムの作成はMBRとGPTで同じ。
MBRの場合
# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6016 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=24064, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1368, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
GPTの場合
# mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=6080 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=24320, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1368, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
マウント
マウントポイントの作成
# mkdir /mbr01
# mkdir /gpt01
マウント
# mount /dev/sdb1 /mbr01
# mount /dev/sdc1 /gpt01
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 886M 0 886M 0% /dev
tmpfs 914M 0 914M 0% /dev/shm
tmpfs 914M 9.2M 905M 2% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/mapper/cl-root 9.8G 4.3G 5.5G 44% /
/dev/sda1 976M 272M 638M 30% /boot
tmpfs 183M 1.2M 182M 1% /run/user/42
tmpfs 183M 4.0K 183M 1% /run/user/1000
/dev/sdb1 89M 5.6M 84M 7% /mbr01
/dev/sdc1 90M 5.7M 85M 7% /gpt01
永続的なマウント
mountコマンドだけだと、再起動するとアンマウントされるので、次回起動時も自動的にマウントする場合には、/etc/fstabに記載する。
UUIDの確認
# lsblk --fs
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 0e024b7c-76a2-497c-af24-dc2af0867e32 /boot
└─sda2 LVM2_member tI6zf8-R2ZG-kSdK-5GPV-331t-sLXC-qRsodW
├─cl-root xfs aacbd61a-5c7d-4d68-8b9e-a5f19ac9090f /
└─cl-swap swap dccee9bf-77bf-47c9-9145-66d1c66ccd21 [SWAP]
sdb
├─sdb1 xfs f9f613b8-6d8a-43e8-b1e4-479e750170d7 /mbr01
├─sdb2
├─sdb3
└─sdb4
sdc
├─sdc1 xfs a82e01a1-2c40-4268-8d48-b9cdec9f2fea /gpt01
├─sdc2
├─sdc3
├─sdc4
├─sdc5
├─sdc6
└─sdc7
/etc/fstabファイルへの追記
#
# /etc/fstab
# Created by anaconda on Fri Jul 10 03:02:18 2020
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=0e024b7c-76a2-497c-af24-dc2af0867e32 /boot ext4 defaults 1 2
/dev/mapper/cl-swap swap swap defaults 0 0
UUID=f9f613b8-6d8a-43e8-b1e4-479e750170d7 /mbr01 xfs default 0 0 #追記
UUID=a82e01a1-2c40-4268-8d48-b9cdec9f2fea /gpt01 xfs default 0 0 #追記
追記内容は左のフィールドから以下の通り
- 対象デバイス UUIDもしくはデバイスファイル(/dev/sdb1など)
- マウントポイント
- ファイルシステムタイプ
- デバイスに適用するオプション
- dumpコマンドによってデバイスのバックアップに使用される
- fsckの順序
ファイルへ追記後、systemctl daemon-reload
を実行する。
swapの管理
swapデバイス、使用量の確認
# swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 1.2G 0B -2
# free
total used free shared buff/cache available
Mem: 1870900 541568 812204 10744 517128 1164324
Swap: 1261564 0 1261564
swapパーティションの作成
※未使用のパーティションは削除済み。
MBRの例。GPTも同じ。
# parted /dev/sdb
GNU Parted 3.2
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mkpart
パーティションの種類? primary/プライマリ/extended/拡張? primary
ファイルシステムの種類? [ext2]? linux-swap
開始? 101MB
終了? 200MB
(parted) p
モデル: ATA VBOX HARDDISK (scsi)
ディスク /dev/sdb: 1074MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 99.6MB 98.6MB primary xfs
2 101MB 200MB 99.6MB primary linux-swap(v1) lba
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 11G 0 part
├─cl-root 253:0 0 9.8G 0 lvm /
└─cl-swap 253:1 0 1.2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 94M 0 part /mbr01
└─sdb2 8:18 0 95M 0 part
sdc 8:32 0 1G 0 disk
├─sdc1 8:33 0 95M 0 part /gpt01
└─sdc2 8:34 0 95M 0 part
sr0 11:0 1 57M 0 rom
swapデバイスのフォーマット
# mkswap /dev/sdb2
スワップ空間バージョン 1 を設定します。サイズ = 95 MiB (99610624 バイト)
ラベルはありません, UUID=71f27145-83df-4169-ad7b-612625a6b8e4
# mkswap /dev/sdc2
スワップ空間バージョン 1 を設定します。サイズ = 95 MiB (99610624 バイト)
ラベルはありません, UUID=1355c990-780d-43cc-8ffc-f9ef71026511
swapの追加
# swapon /dev/sdb2
# swapon /dev/sdc2
# swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 1.2G 0B -2
/dev/sdb2 partition 95M 0B -3
/dev/sdc2 partition 95M 0B -4
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 11G 0 part
├─cl-root 253:0 0 9.8G 0 lvm /
└─cl-swap 253:1 0 1.2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 94M 0 part /mbr01
└─sdb2 8:18 0 95M 0 part [SWAP]
sdc 8:32 0 1G 0 disk
├─sdc1 8:33 0 95M 0 part /gpt01
└─sdc2 8:34 0 95M 0 part [SWAP]
sr0 11:0 1 57M 0 rom
swapデバイスの永続化
同様に/etc/fstabに記載する。
#
# /etc/fstab
# Created by anaconda on Fri Jul 10 03:02:18 2020
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=0e024b7c-76a2-497c-af24-dc2af0867e32 /boot ext4 defaults 1 2
/dev/mapper/cl-swap swap swap defaults 0 0
UUID=f9f613b8-6d8a-43e8-b1e4-479e750170d7 /mbr01 xfs default 0 0
UUID=a82e01a1-2c40-4268-8d48-b9cdec9f2fea /gpt01 xfs default 0 0
/dev/sdb2 swap swap defaults 0 0 #追記
/dev/sdc2 swap swap pri=5 0 0 #追記
ファイルへ追記後、systemctl daemon-reload
を実行する。
swapの優先度
使用するswapの優先度を設定するには、/etc/fstabファイルでpriオプションで指定する。
デフォルトの値は「-2」で数字が大きい順に使用する。
コメント