มือเตรียมดิสก์ /dev/sdb และตั้งค่า Auto Mount บน AlmaLinux

มือเตรียมดิสก์ /dev/sdb และตั้งค่า Auto Mount บน AlmaLinux
Feb 3, 2026
almalinuxlinuxpgsqlPostgreSQLHOSxPXE
PostgreSQL Production Storage Setup on AlmaLinux
คู่มือนี้อธิบายการเตรียมดิสก์ /dev/sdb สำหรับใช้งานกับ PostgreSQL บน AlmaLinux
เหมาะสำหรับระบบ Production โดยคำนึงถึงความเสถียร ความปลอดภัย และการ Auto Mount
Assumptions
- ระบบปฏิบัติการ: AlmaLinux 8/9
- ดิสก์ใหม่:
/dev/sdb - PostgreSQL data directory:
/var/lib/pgsql - Filesystem:
ext4 - PostgreSQL user:
postgres
Step 0: ตรวจสอบดิสก์
lsblk
fdisk -l
⚠️ ตรวจสอบให้แน่ใจว่า /dev/sdb เป็นดิสก์ที่ถูกต้อง เพราะขั้นตอนถัดไปจะลบข้อมูลทั้งหมด
Step 1: สร้าง Partition บน /dev/sdb
fdisk /dev/sdb
ภายใน fdisk:
n→ new partitionp→ primary1→ partition number- Enter → ใช้ค่าเริ่มต้นทั้งหมด
w→ write & exit
ผลลัพธ์:
/dev/sdb1
Step 2: ตรวจสอบ Partition
lsblk
fdisk -l /dev/sdb
Step 3: Format Filesystem
แนะนำ ext4 สำหรับ PostgreSQL Production
mkfs.ext4 -L pgdata /dev/sdb1
Step 4: เตรียม Mount Point
mkdir -p /var/lib/pgsql
หากมีข้อมูลเดิมอยู่ ควร backup ก่อน
Step 5: Mount (ชั่วคราวเพื่อทดสอบ)
mount /dev/sdb1 /var/lib/pgsql
df -h
Step 6: ตั้งค่า Permission สำหรับ PostgreSQL
chown -R postgres:postgres /var/lib/pgsql
chmod 700 /var/lib/pgsql
ตรวจสอบ:
ls -ld /var/lib/pgsql
ควรได้:
drwx------ postgres postgres
Step 7: ตั้งค่า Auto Mount ด้วย UUID (Recommended)
7.1 หา UUID
blkid /dev/sdb1
ตัวอย่าง:
UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
7.2 แก้ไข /etc/fstab
vi /etc/fstab
เพิ่มบรรทัด:
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /var/lib/pgsql ext4 noatime,nodiratime 0 2
คำอธิบาย Options
noatime,nodiratime→ ลด disk I/O (เหมาะกับ database)0→ ไม่ dump2→ fsck หลัง root filesystem
7.3 ทดสอบ fstab (สำคัญมาก)
mount -a
ต้องไม่มี error ก่อน reboot
Step 8: Reboot และตรวจสอบ
reboot
หลัง boot:
df -h
mount | grep pgsql
Step 9: ใช้งานกับ PostgreSQL
ตรวจสอบว่า PostgreSQL เห็น data directory ถูกต้อง:
sudo -u postgres psql -c "show data_directory;"
ควรได้:
/var/lib/pgsql/...
Production Best Practices (แนะนำ)
- แยก disk สำหรับ PostgreSQL โดยเฉพาะ
- ใช้ UUID แทน device name เสมอ
- ตรวจสอบ I/O:
iostat -xm 1 - Backup ก่อนแก้ไข disk หรือ fstab ทุกครั้ง
- พิจารณา LVM หากต้องการขยาย disk ในอนาคต
Optional Enhancements
- ใช้ LVM + ext4/xfs
- แยก WAL (
pg_wal) ไปอีก disk - Mount option เพิ่ม:
commit=60barrier=1
Summary
/dev/sdb1→/var/lib/pgsql- Filesystem: ext4
- Auto mount ด้วย UUID
- Permission เหมาะกับ PostgreSQL Production
✔ พร้อมใช้งานในระบบ Production อย่างปลอดภัยและเสถียร