ディスク管理

パーティション、LVM、RAID

パーティション

MBR (Master Boot Record)

  • • 最大4つの基本パーティション
  • • 最大2TBまで
  • • レガシーBIOS用
  • • 拡張パーティションで論理ドライブ

GPT (GUID Partition Table)

  • • 最大128パーティション
  • • 最大8ZBまで
  • • UEFI用
  • • バックアップテーブルあり
1# パーティション確認
2lsblk
3fdisk -l
4parted -l
5
6# パーティション操作(MBR)
7fdisk /dev/sdb
8
9# パーティション操作(GPT推奨)
10gdisk /dev/sdb
11parted /dev/sdb
12
13# パーティションテーブル確認
14blkid
15cat /proc/partitions

LVM (Logical Volume Manager)

LVMは柔軟なディスク管理を提供します。物理ディスクを抽象化し、 動的なサイズ変更、スナップショット、ストライピングなどが可能です。

LV (Logical Volume)
LV
LV
↑ 論理ボリューム
VG (Volume Group)
↑ ボリュームグループ
PV
PV
PV
↑ 物理ボリューム(/dev/sda1等)
1# 物理ボリューム(PV)
2pvcreate /dev/sdb1 /dev/sdc1
3pvdisplay
4pvs
5
6# ボリュームグループ(VG)
7vgcreate vg_data /dev/sdb1 /dev/sdc1
8vgdisplay
9vgs
10vgextend vg_data /dev/sdd1 # VG拡張
11
12# 論理ボリューム(LV)
13lvcreate -L 100G -n lv_app vg_data
14lvcreate -l 100%FREE -n lv_data vg_data # 残り全部
15lvdisplay
16lvs
17
18# LV拡張
19lvextend -L +50G /dev/vg_data/lv_app
20resize2fs /dev/vg_data/lv_app # ext4の場合
21xfs_growfs /dev/vg_data/lv_app # XFSの場合
22
23# スナップショット
24lvcreate -L 10G -s -n snap_app /dev/vg_data/lv_app

RAID

レベル方式最小台数容量効率耐障害性
RAID 0ストライピング2100%なし
RAID 1ミラーリング250%1台
RAID 5分散パリティ3(n-1)/n1台
RAID 6二重パリティ4(n-2)/n2台
RAID 10ミラー+ストライプ450%各ペア1台
1# ソフトウェアRAID(mdadm)
2mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
3
4# RAID状態確認
5cat /proc/mdstat
6mdadm --detail /dev/md0
7
8# 障害ディスク交換
9mdadm --manage /dev/md0 --fail /dev/sdb1
10mdadm --manage /dev/md0 --remove /dev/sdb1
11mdadm --manage /dev/md0 --add /dev/sdd1

ディスクI/O監視

1# iostat
2iostat -x 1
3# %util: 使用率、await: 待ち時間(ms)
4
5# iotop(プロセスごとのI/O)
6iotop
7
8# プロセスのI/O確認
9cat /proc/PID/io
10
11# ディスク健全性(SMART)
12smartctl -a /dev/sda
13smartctl -t short /dev/sda # テスト実行
14
15# I/Oスケジューラ確認
16cat /sys/block/sda/queue/scheduler
17# [mq-deadline] none
18# SSD: none または mq-deadline
19# HDD: mq-deadline

SRE/インフラ観点

本番環境での選択

  • DB: RAID 10 + LVM(パフォーマンスと信頼性)
  • ログ: RAID 5/6(容量効率重視)
  • クラウド: EBSなどのマネージドストレージ

監視項目

  • • SMART情報(Reallocated_Sector_Ct等)
  • • I/O待ち時間(await > 10msで注意)
  • • ディスク使用率(%util > 80%で注意)
  • • RAID劣化状態