# ฉันจะเมานต์และฟอร์แมตดิสก์ storage บน Linux storage VPS ได้อย่างไร?

> การเมานต์และฟอร์แมตดิสก์บน Linux VPS: lsblk, GPT, ext4 หรือ XFS, LUKS, fstab ด้วย UUID พร้อม nofail 1 TB $1.66/เดือน, คริปโต

- URL: https://coffervale.com/th/mount-storage-disk-on-a-vps/
- อัปเดตล่าสุด: 2026-11-02
- ผู้เผยแพร่: Coffervale (https://coffervale.com)

หาดิสก์ที่ยังว่าง ให้มันหนึ่งพาร์ทิชันและระบบไฟล์ เข้ารหัสด้วยถ้าต้องการ แล้วเมานต์ไว้เพื่อให้ดิสก์ที่หายไปไม่ทำให้การบูตค้างได้เลย สิบคำสั่ง พร้อมคำอธิบายแต่ละคำ และชี้ข้อผิดพลาดข้อเดียวที่ลบผิดดิสก์

**คำตอบสั้น — ฉันจะเมานต์และฟอร์แมตดิสก์ storage บน Linux VPS ได้อย่างไร?**

การเมานต์และฟอร์แมตดิสก์ storage บน Linux VPS ให้หาเครื่องด้วย `lsblk` สร้างหนึ่งพาร์ทิชัน GPT ฟอร์แมตเป็น ext4 หรือ XFS ซึ่งอาจอยู่ภายใน LUKS แล้วเมานต์จาก `/etc/fstab` ด้วย UUID พร้อม `nofail` เพื่อให้ดิสก์ที่หายไปไม่ขวางการบูต ขั้นตอนใช้ได้กับ storage VPS แบบ KVM ทุกรุ่น รวมถึงแพ็กเกจ **Coffervale** ตั้งแต่ 1 TB ราคา $1.66 ต่อเดือนเมื่อซื้อ 12 เดือน (2 November 2026)

## มีขั้นตอนอะไรบ้าง?

1. **ระบุดิสก์ที่ยังว่าง** — lsblk แสดงดิสก์ทั้งหมด ดิสก์ storage จะไม่มีพาร์ทิชันและไม่มีจุดเมานต์
2. **สร้างหนึ่งพาร์ทิชัน GPT** — parted เขียน GPT label และหนึ่งพาร์ทิชันครอบทั้งดิสก์
3. **เข้ารหัส (เลือกได้)** — cryptsetup luksFormat และ cryptsetup open แล้วสำรอง LUKS header เก็บไว้นอกเซิร์ฟเวอร์
4. **สร้างระบบไฟล์** — mkfs.ext4 -m 1 หรือ mkfs.xfs พร้อม label ที่คุณจะจำได้
5. **เมานต์ด้วย UUID พร้อม nofail** — หนึ่งบรรทัดใน /etc/fstab แล้ว mount และ findmnt เพื่อยืนยัน

## ดิสก์ไหนคือดิสก์ storage?

**รัน `lsblk`: ดิสก์ storage คือดิสก์ลูกใหญ่ที่ไม่มีพาร์ทิชัน ไม่มีระบบไฟล์ และไม่มีจุดเมานต์** storage VPS มีสองรูปแบบ คือมีดิสก์ระบบลูกเล็กบวกดิสก์ข้อมูลลูกใหญ่ หรือมีดิสก์ลูกใหญ่ลูกเดียว ตามแบบสำรวจของ Coffervale จาก 2 November 2026 มี 6 จาก 18 ผู้ขาย storage VPS ที่รับคริปโตโดยไม่ต้องใช้เอกสาร ID ระบุไว้ในหน้าเว็บว่าพื้นที่ storage มาเป็นดิสก์หรือ block device แยกต่างหาก ส่วนอีก 12 รายอธิบายว่าเป็นดิสก์เดียวหรือไม่ได้ระบุ ตรวจสอบของคุณก่อนพิมพ์คำสั่งที่ทำลายข้อมูล

บน KVM ดิสก์ virtio มีชื่อเป็น `vda`, `vdb` และอื่น ๆ ส่วนดิสก์ virtio-SCSI เป็น `sda`, `sdb` ขนาดแสดงเป็นหน่วยฐานสอง ดังนั้นดิสก์ 1 TB จะอ่านได้ประมาณ 931G ถ้า `lsblk` แสดงเพียงดิสก์เดียวและ `/` ครอบขนาดเต็มอยู่แล้ว ก็ไม่มีอะไรต้องฟอร์แมต: สร้างโฟลเดอร์เช่น `/srv/data` แล้วข้ามไปยังส่วนเรื่องตัวเลือกการเข้ารหัสตอนท้าย

*แสดงรายการดิสก์ แล้วระบุลูกที่ว่าง*

```bash
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS

# Use the empty disk from the list above; this example assumes /dev/vdb
DISK=/dev/vdb
PART=/dev/vdb1
```

> **ข้อผิดพลาดเดียวที่ต้องหลีกเลี่ยง** parted, mkfs และ luksFormat จะลบทุกอย่างบนอุปกรณ์ที่คุณระบุ ก่อนรัน ให้ยืนยันในผลลัพธ์ของ lsblk ว่า $DISK ไม่มี FSTYPE และไม่มี MOUNTPOINTS ดิสก์ระบบจะมี / เมานต์อยู่ที่ใดที่หนึ่งเสมอ

## ควรแบ่งพาร์ทิชันดิสก์ storage หรือฟอร์แมตทั้งลูกเลย?

**สร้างหนึ่งพาร์ทิชัน GPT ครอบทั้งดิสก์** การเขียนระบบไฟล์ลงบนอุปกรณ์เปล่าโดยตรงก็ใช้ได้เช่นกัน แต่ตารางพาร์ทิชันบอกทุกเครื่องมือและทุกผู้ดูแลที่มาดูภายหลังว่าดิสก์นี้ถูกใช้งานอยู่ และ `parted` จัดแนวพาร์ทิชันให้คุณเอง Debian และ Ubuntu cloud image ไม่ได้ติดตั้ง `parted` มาด้วยเสมอ ดังนั้นติดตั้งก่อน (`dnf install parted` บน AlmaLinux หรือ Rocky Linux และเช่นเดียวกันสำหรับ `cryptsetup` ด้านล่าง)

*หนึ่งพาร์ทิชันครอบทั้งดิสก์ ในฐานะ root*

```bash
apt install parted
parted -s -a optimal "$DISK" mklabel gpt mkpart data 0% 100%
partprobe "$DISK"
lsblk "$DISK"
```

## ควรเข้ารหัสดิสก์ storage ด้วย LUKS ไหม?

**เข้ารหัสไว้ถ้ามีอะไรบน VPS ที่จะเก็บไฟล์แบบข้อความธรรมดา: รัน `cryptsetup luksFormat` บนพาร์ทิชัน เปิด它以ชื่อหนึ่ง แล้วสร้างระบบไฟล์บนอุปกรณ์ที่เปิดแล้ว** LUKS2 เป็นรูปแบบเริ่มต้น เก็บดิสก์ระบบไว้โดยไม่เข้ารหัสและดิสก์ข้อมูลภายใต้ LUKS: หลังจากรีบูต ให้ล็อกอินผ่าน SSH และปลดล็อกดิสก์ข้อมูลด้วยวลีรหัสผ่านของคุณ ใครก็ตามที่ดูแลไฮเปอร์ไวเซอร์สามารถอ่านดิสก์เสมือนที่ไม่เข้ารหัสได้ในทางเทคนิค ไม่ว่าจะเป็นโฮสต์ VPS รายใดก็ตาม เราไม่เปิดดูไฟล์ของคุณ และข้อมูลที่คุณเข้ารหัสก่อนออกจากเครื่องของคุณก็ตัดคำถามนี้ออกไปได้

สำรอง LUKS header และย้ายสำเนาออกนอกเซิร์ฟเวอร์: ถ้า header เสียหาย ข้อมูลที่อยู่ข้างหลังก็หายไปด้วย คู่มือ cryptsetup เพิ่มคำเตือนที่ควรอ่านสองรอบ: header ที่สำรองไว้พร้อม passphrase ที่ใช้ได้ตอนที่สำรอง จะถอดรหัสดิสก์ได้แม้ passphrase นั้นจะถูกเปลี่ยนหรือลบไปแล้ว มองไฟล์สำรองนั้นเหมือนเป็น passphrase ตัวมันเอง

*LUKS บนพาร์ทิชัน (ข้ามบล็อกนี้สำหรับดิสก์ที่ไม่เข้ารหัส)*

```bash
apt install cryptsetup
cryptsetup luksFormat "$PART"
cryptsetup open "$PART" coffer

cryptsetup luksHeaderBackup "$PART" --header-backup-file /root/coffer-luks-header.img
# copy /root/coffer-luks-header.img to your own machine, then delete it here
```

## ดิสก์ storage ควรใช้ ext4 หรือ XFS?

**ใช้ ext4 เว้นแต่คุณมีเหตุผลที่จะไม่ใช้; มันเป็นตัวเดียวในสองตัวที่ย่อขนาดได้** ทั้งคู่รองรับ backup repository หลายเทระไบต์และการซิงก์ไฟล์ได้ไม่มีปัญหา และทั้งคู่ขยายขนาดได้ขณะเมานต์อยู่เมื่อดิสก์ใหญ่ขึ้น ความแตกต่างที่สำคัญบน storage VPS มีดังนี้:

| คุณสมบัติ | ext4 | XFS |
| --- | --- | --- |
| ขยายขนาดขณะเมานต์ | ได้ `resize2fs` | ได้ `xfs_growfs` (ต้องเมานต์อยู่) |
| ลดขนาด | ได้ ต้องถอดเมานต์ก่อน ด้วย `resize2fs` | แทบไม่ได้: ลดได้เฉพาะ allocation group สุดท้าย และลบออกไม่ได้ |
| พื้นที่สำรองสำหรับ root | ค่าเริ่มต้น 5%; `-m 1` เก็บไว้ 1% | ไม่มีพื้นที่สำรองแบบนี้ |
| ความยาวเลเบล | สูงสุด 16 ไบต์ | สูงสุด 12 อักขระ |

บนดิสก์ข้อมูล 1 TB พื้นที่สำรองเริ่มต้นของ ext4 จะกันไว้ 50 GB ที่เฉพาะ root ใช้ได้ สำหรับดิสก์ที่ใช้เก็บ backup หรือข้อมูล sync 1% ก็เพียงพอ เพราะระบบปฏิบัติการไม่ได้อยู่บนดิสก์นั้น จัดรูปแบบพาร์ทิชัน หรืออุปกรณ์ LUKS ที่เปิดแล้วถ้าคุณเข้ารหัสไว้:

*จัดรูปแบบ: เลือกหนึ่งบรรทัด*

```bash
# The device to format: the partition, or the opened LUKS device
DEV="$PART"        # with LUKS: DEV=/dev/mapper/coffer
mkfs.ext4 -m 1 -L coffer "$DEV"
# or: mkfs.xfs -L coffer "$DEV"
```

## จะเมานต์ดิสก์ตอนบูตด้วย fstab, UUID และ nofail ได้อย่างไร?

**เพิ่มหนึ่งบรรทัด `/etc/fstab` ที่ระบุ filesystem ด้วย UUID และมี `nofail`** คู่มือ fstab แนะนำให้ใช้ UUID หรือเลเบล เพราะชื่ออุปกรณ์ขึ้นกับลำดับการตรวจพบดิสก์ และอาจเปลี่ยนเมื่อเพิ่มหรือถอดดิสก์ ด้วย `nofail` เอกสารของ systemd ระบุว่าการบูตจะดำเนินต่อไปโดยไม่รอการเมานต์ และไม่ว่าการเมานต์จะสำเร็จหรือไม่ ดังนั้นดิสก์ที่ถูกถอดออกหรือล็อกอยู่จะทำให้เซิร์ฟเวอร์ระยะไกลค้างอยู่ที่ emergency prompt ที่คุณเข้าไม่ถึงไม่ได้

ดิสก์ที่เข้ารหัสต้องมี `noauto` ด้วย: เมานต์ไม่ได้ก่อนที่คุณจะปลดล็อกผ่าน SSH ดังนั้นการบูตจึงไม่ควรพยายาม สคริปต์เล็กๆ ด้านล่างเปิดดิสก์ด้วย LUKS UUID และเมานต์ในขั้นตอนเดียว

*ext4 ธรรมดา: เมานต์ทุกครั้งที่บูต*

```bash
mkdir -p /srv/data
UUID=$(blkid -s UUID -o value "$PART")
echo "UUID=$UUID  /srv/data  ext4  defaults,nofail  0  2" >> /etc/fstab
systemctl daemon-reload
mount /srv/data
findmnt /srv/data
```

*LUKS: เมานต์หลังจากคุณปลดล็อก*

```bash
mkdir -p /srv/data
FSUUID=$(blkid -s UUID -o value /dev/mapper/coffer)
LUKSUUID=$(blkid -s UUID -o value "$PART")
echo "UUID=$FSUUID  /srv/data  ext4  noauto,nofail  0  0" >> /etc/fstab
systemctl daemon-reload

cat > /usr/local/sbin/unlock-data <<EOF
#!/bin/sh
cryptsetup open /dev/disk/by-uuid/$LUKSUUID coffer && mount /srv/data
EOF
chmod 700 /usr/local/sbin/unlock-data

# after each reboot, over SSH:
/usr/local/sbin/unlock-data
```

## ถ้าไม่อยากเข้ารหัสดิสก์บนเซิร์ฟเวอร์จะทำอย่างไร?

**เข้ารหัสฝั่งไคลเอนต์แทน ซึ่งใช้ได้กับการจัดวางแบบใดก็ได้ รวมถึงดิสก์ลูกเดียว** Borg, restic และโหมด untrusted-device ของ Syncthing ต่างเข้ารหัสก่อนข้อมูลไปถึง VPS ดังนั้นเซิร์ฟเวอร์จึงเก็บข้อมูลที่เข้ารหัสไว้ ไม่ว่าจะมี LUKS หรือไม่ KVM มอบเคอร์เนลของเซิร์ฟเวอร์ของคุณเอง คุณจึงสามารถใส่ LUKS บนดิสก์ข้อมูลหรือรัน ZFS พร้อมการเข้ารหัสแบบเนทีฟได้ และคีย์จะไม่หลุดออกไปจากคุณ สำหรับแบ็กอัป ให้เข้ารหัสบนเครื่องของคุณเองก่อนอัปโหลด (Borg, restic และ Kopia ทำได้ทั้งหมด) ดังนั้นเซิร์ฟเวอร์จะเก็บไว้เพียงข้อความที่เข้ารหัสแล้วเท่านั้น การเข้ารหัสดิสก์ยังมีประโยชน์เมื่อ VPS รันซอฟต์แวร์ที่ต้องการไฟล์แบบธรรมดา เช่น Nextcloud ขั้นตอนถัดไป: [จะใช้ VPS สำหรับ backup off-site ได้อย่างไร?](https://coffervale.com/th/backup-vps/ "Off-site backups on a storage VPS"), [จะตั้งค่า Borg backup server บน VPS ได้อย่างไร?](https://coffervale.com/th/borg-backup-server-on-a-vps/ "Borg server setup") และ [VPS ที่ดีที่สุดสำหรับ Nextcloud ที่มีพื้นที่ 1 TB ขึ้นไปคืออะไร?](https://coffervale.com/th/nextcloud-vps/ "Nextcloud on a storage VPS") ถ้าต้องการดิสก์ใหญ่ขึ้นภายหลัง หากต้องการขยาย ให้สั่งแพ็กเกจที่ใหญ่ขึ้นแล้วคัดลอกข้อมูลของคุณด้วย rsync หรือ zfs send การปรับขนาดเซิร์ฟเวอร์ที่ทำงานอยู่โดยตรงไม่มีให้บริการในตอนเปิดตัว; แพลนขนาดต่างๆ อยู่ที่ [จะหา VPS ที่มีพื้นที่ 1 TB ได้ที่ไหน?](https://coffervale.com/th/1tb-vps/ "1 TB storage VPS")

## คำถามเกี่ยวกับการเมานต์ดิสก์เก็บข้อมูล

### ทำไมดิสก์ 1 TB ของฉันจึงแสดงเป็น 931G?

ขนาดดิสก์ขายเป็นเทระไบต์แบบฐานสิบ ขณะที่ `lsblk` และ `df` แสดงหน่วยแบบฐานสอง 1,000,000,000,000 ไบต์มีค่าประมาณ 931 GiB: ไบต์เดียวกัน ต่างหน่วยกัน

### จะเกิดอะไรขึ้นถ้าฉันลืม nofail และดิสก์หายไปตอนบูต?

systemd ถือว่าการเมานต์จำเป็นสำหรับ local filesystems ดังนั้นการบูตอาจหยุดที่ emergency shell บน VPS ที่ไม่มี console ให้คุณเข้าถึง นั่นหมายถึงต้องติดต่อฝ่ายสนับสนุน ด้วย `nofail` เซิร์ฟเวอร์จะบูตและคุณแก้ไขการเมานต์ผ่าน SSH ได้

### ต้องปลดล็อกดิสก์ LUKS ทุกครั้งหลังรีบูตหรือไม่?

ต้อง ด้วยการตั้งค่าข้างต้น: ล็อกอินผ่าน SSH แล้วรันสคริปต์ปลดล็อก ดิสก์ระบบยังไม่เข้ารหัสเพื่อให้เซิร์ฟเวอร์บูตได้เสมอ และ SSH ตอบกลับได้เสมอ

### ควรใช้ ext4 หรือ XFS สำหรับ repository ของ Borg หรือ restic?

ได้ทั้งคู่ ext4 ลดขนาดได้ภายหลังและให้คุณปรับพื้นที่สำรองสำหรับ root ด้วย `-m`; XFS ลดขนาดไม่ได้ยกเว้นในกรณีจำกัดเฉพาะ เมื่อไม่แน่ใจ เลือก ext4

### จะตรวจสอบได้อย่างไรว่าดิสก์เมานต์อยู่ที่ที่คาดไว้?

`findmnt /srv/data` แสดงอุปกรณ์ filesystem และ options ของจุดเมานต์นั้น และ `df -h /srv/data` แสดงขนาดและพื้นที่ว่าง ถ้าคำสั่งใดคำสั่งหนึ่งแสดง root filesystem แสดงว่าดิสก์ไม่ได้เมานต์ และข้อมูลกำลังไปอยู่บนดิสก์ระบบ

## แหล่งที่มา

1. [lsblk(8): แสดงรายการ block devices](https://man7.org/linux/man-pages/man8/lsblk.8.html) — Linux man-pages project (read 2026-11-02)
2. [fstab(5): UUID และ LABEL, nofail, ลำดับ fsck](https://man7.org/linux/man-pages/man5/fstab.5.html) — Linux man-pages project (read 2026-11-02)
3. [systemd.mount(5): nofail และ noauto ใน fstab](https://man7.org/linux/man-pages/man5/systemd.mount.5.html) — systemd project (read 2026-11-02)
4. [mke2fs(8): -m reserved blocks (ค่าเริ่มต้น 5%), -L label](https://man7.org/linux/man-pages/man8/mke2fs.8.html) — Linux man-pages project (read 2026-11-02)
5. [resize2fs(8): ขยายและลดขนาด ext4](https://man7.org/linux/man-pages/man8/resize2fs.8.html) — Linux man-pages project (read 2026-11-02)
6. [xfs_growfs(8): ขยาย XFS, ข้อจำกัดในการลดขนาด](https://man7.org/linux/man-pages/man8/xfs_growfs.8.html) — Linux man-pages project (read 2026-11-02)
7. [cryptsetup-luksFormat(8): ค่าเริ่มต้น LUKS2](https://man7.org/linux/man-pages/man8/cryptsetup-luksFormat.8.html) — cryptsetup project (read 2026-11-02)
8. [cryptsetup-luksHeaderBackup(8): การสำรองข้อมูล header และความเสี่ยง](https://man7.org/linux/man-pages/man8/cryptsetup-luksHeaderBackup.8.html) — cryptsetup project (read 2026-11-02)

---

Coffervale: Coffervale ขาย storage VPS ในยุโรป: เซิร์ฟเวอร์ KVM พร้อมพื้นที่ HDD 500 GB ถึง 8 TB สำหรับสำรองข้อมูลนอกสถานที่, Nextcloud, Seafile, Syncthing และไฟล์เก็บถาวร จ่ายด้วยคริปโตโดยไม่ต้องใช้ ID ตอนสมัคร เซิร์ฟเวอร์ทำงานในอัมสเตอร์ดัม บูคาเรสต์ และคีชีเนา และผู้ให้บริการคือ DomaineGoat LLC บริษัทที่จดทะเบียนในปานามา สำหรับระยะสัญญา 12 เดือน ทุกแพ็กเกจมีราคาต่ำกว่าผู้ให้บริการ storage VPS ที่เทียบเคียงได้ซึ่งระบุชื่อไว้ อย่างน้อย 25% ต่อเดือน โดยเลือกจากผู้ให้บริการโฮสต์คริปโตที่ไม่ต้อง KYC 10 ราย ซึ่งอ่านราคาเมื่อวันที่ 2 พฤศจิกายน 2026
