संक्षिप्त उत्तर
Linux VPS पर storage डिस्क को mount और format कैसे करें?
Linux VPS पर storage डिस्क को mount और format करने के लिए, इसे lsblk से खोजें, एक GPT partition बनाएँ, उसे ext4 या XFS में format करें, वैकल्पिक रूप से LUKS के अंदर, और इसे /etc/fstab से UUID द्वारा nofail के साथ mount करें, ताकि डिस्क गायब होने पर boot कभी न रुके। ये चरण किसी भी KVM storage VPS पर लागू होते हैं, जिनमें Coffervale प्लान 12 महीनों पर $1.66 प्रति माह से 1 TB तक (2 November 2026) शामिल हैं।
चरण क्या हैं?
खाली डिस्क पहचानें
lsblkहर डिस्क दिखाता है; storage डिस्क पर कोई partition और कोई mount point नहीं होता।एक GPT partition बनाएँ
partedएक GPT label और पूरी डिस्क पर एक partition लिखता है।इसे encrypt करें (वैकल्पिक)
cryptsetup luksFormatऔरcryptsetup open, फिर LUKS header का बैकअप सर्वर से बाहर रखें।एक filesystem बनाएँ
mkfs.ext4 -m 1याmkfs.xfs, ऐसे label के साथ जिसे आप पहचान सकें।इसे nofail के साथ UUID द्वारा mount करें
/etc/fstabमें एक पंक्ति, फिर पुष्टि के लिएmountऔरfindmnt।
कौन सी डिस्क storage डिस्क है?
lsblk चलाएँ: storage डिस्क वह बड़ी है जिस पर कोई partition, कोई filesystem और कोई mount point नहीं है। Storage VPS दो लेआउट में आते हैं, एक छोटी system डिस्क और एक बड़ी data डिस्क, या एक ही बड़ी डिस्क। Coffervale के 2 November 2026 सर्वेक्षण के अनुसार, उन 18 storage VPS विक्रेताओं में से जो बिना ID दस्तावेज़ के crypto लेते हैं, 6 अपने पेजों पर बताते हैं कि storage एक अलग डिस्क या block device के रूप में आता है; बाकी 12 एक ही डिस्क बताते हैं या कुछ नहीं कहते। कुछ भी विनाशकारी टाइप करने से पहले अपनी डिस्क जाँचें।
KVM पर, virtio डिस्क का नाम vda, vdb इत्यादि होता है, और virtio-SCSI डिस्क का sda, sdb। आकार binary इकाइयों में दिखाए जाते हैं, इसलिए 1 TB डिस्क लगभग 931G पढ़ी जाती है। अगर lsblk केवल एक डिस्क दिखाता है और / पहले से उसके पूरे आकार में फैला है, तो format करने के लिए कुछ नहीं है: /srv/data जैसा फ़ोल्डर बनाएँ और अंत में encryption विकल्पों वाले भाग पर जाएँ।
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क्या मुझे storage डिस्क को partition करना चाहिए या पूरी format करनी चाहिए?
पूरी डिस्क पर एक GPT partition बनाएँ। सीधे बेयर device पर लिखा filesystem भी काम करता है, लेकिन एक partition table हर टूल और बाद में देखने वाले हर admin को बताता है कि डिस्क उपयोग में है, और parted आपके लिए partition align कर देता है। Debian और Ubuntu cloud images हमेशा parted के साथ नहीं आते, इसलिए पहले इसे इंस्टॉल करें (AlmaLinux या Rocky Linux पर dnf install parted, और नीचे cryptsetup के लिए भी वही)।
apt install parted
parted -s -a optimal "$DISK" mklabel gpt mkpart data 0% 100%
partprobe "$DISK"
lsblk "$DISK"क्या मुझे storage डिस्क को LUKS से encrypt करना चाहिए?
अगर VPS पर कुछ भी plain files रखेगा तो इसे encrypt करें: partition पर cryptsetup luksFormat चलाएँ, इसे एक नाम से खोलें, और खोले गए device पर filesystem बनाएँ। LUKS2 डिफ़ॉल्ट format है। सिस्टम डिस्क को अनएन्क्रिप्टेड रखें और डेटा डिस्क को LUKS के अंतर्गत: reboot के बाद, SSH से लॉग इन करें और अपने passphrase से डेटा डिस्क अनलॉक करें। जो भी hypervisor चलाता है वह तकनीकी रूप से अनएन्क्रिप्टेड virtual disk पढ़ सकता है, किसी भी VPS होस्ट पर। हम आपकी फ़ाइलें नहीं खोलते, और आप जो डेटा अपनी मशीन से निकलने से पहले एन्क्रिप्ट करते हैं, वह सवाल ही नहीं उठने देता।
LUKS header का बैकअप लें और कॉपी सर्वर से बाहर ले जाएँ: अगर header खराब हो जाए, तो उसके पीछे का डेटा चला जाता है। cryptsetup मैनुअल एक चेतावनी जोड़ता है जिसे दो बार पढ़ना उचित है: एक header बैकअप के साथ वह passphrase जो बैकअप लेते समय मान्य थी, डिस्क को तब भी decrypt करती है जब वह passphrase बदल दिया गया हो या हटा दिया गया हो। बैकअप फ़ाइल को passphrase की तरह ही संभालें।
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 इस्तेमाल करें जब तक इससे बचने का कारण न हो; दोनों में यह अकेला है जिसे आप छोटा कर सकते हैं। दोनों multi-terabyte backup repositories और file sync को बिना परेशानी संभालते हैं, और दोनों डिस्क बड़ी होने पर mounted रहते हुए बढ़ते हैं। storage VPS पर मायने रखने वाले अंतर:
| प्रॉपर्टी | ext4 | XFS |
|---|---|---|
| माउंटेड रहते हुए बढ़ाएँ | हाँ, resize2fs | हाँ, xfs_growfs (माउंटेड होना चाहिए) |
| छोटा करें | हाँ, अनमाउंटेड, resize2fs के साथ | मुश्किल से: केवल अंतिम allocation group छोटा होता है, और उसे हटाया नहीं जा सकता |
| root के लिए रोका गया स्थान | डिफ़ॉल्ट रूप से 5%; -m 1 1% रखता है | ऐसा कोई reserve नहीं |
| लेबल की लंबाई | 16 बाइट तक | 12 अक्षर तक |
1 TB डेटा डिस्क पर, डिफ़ॉल्ट ext4 reserve 50 GB रोक लेता है जिसे केवल root उपयोग कर सकता है। बैकअप या सिंक डेटा संग्रहीत करने वाली डिस्क के लिए, 1% काफ़ी है, क्योंकि वहाँ ऑपरेटिंग सिस्टम नहीं रहता। पार्टीशन फ़ॉर्मेट करें, या खोले गए LUKS डिवाइस को यदि आपने एन्क्रिप्ट किया है:
# 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 पंक्ति जोड़ें जो फ़ाइलसिस्टम को UUID से नाम देती है और nofail रखती है। fstab मैनुअल UUID या लेबल की सलाह देता है क्योंकि डिवाइस नाम उस क्रम का पालन करते हैं जिसमें डिस्क पहचानी जाती हैं और डिस्क जोड़ने या हटाने पर बदल सकते हैं। nofail के साथ, systemd का दस्तावेज़ कहता है कि बूट माउंट की प्रतीक्षा किए बिना जारी रहता है और चाहे वह सफल हो या न हो, ताकि डिटैच या लॉक की गई डिस्क किसी रिमोट सर्वर को आपातकालीन प्रॉम्प्ट पर अटका न छोड़े जिस तक आप पहुँच न सकें।
एन्क्रिप्टेड डिस्क को noauto भी मिलता है: इसे SSH पर अनलॉक करने से पहले माउंट नहीं किया जा सकता, इसलिए बूट को प्रयास नहीं करना चाहिए। नीचे दिया गया छोटा स्क्रिप्ट इसे LUKS UUID से खोलता है और एक ही चरण में माउंट करता है।
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/datamkdir -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 और Syncthing का untrusted-device मोड सभी डेटा के VPS तक पहुँचने से पहले एन्क्रिप्ट करते हैं, इसलिए सर्वर LUKS के साथ या उसके बिना ciphertext संग्रहीत करता है। KVM आपके सर्वर को अपना kernel देता है, इसलिए आप डेटा डिस्क पर LUKS लगा सकते हैं या native encryption के साथ ZFS चला सकते हैं, और चाबियाँ कभी आपसे बाहर नहीं जातीं। बैकअप के लिए, अपलोड से पहले अपनी ही मशीन पर एन्क्रिप्ट करें (Borg, restic और Kopia सभी ऐसा करते हैं), ताकि सर्वर पर हमेशा केवल ciphertext रहे। डिस्क एन्क्रिप्शन तब भी मूल्य जोड़ता है जब VPS ऐसा सॉफ़्टवेयर चलाता है जिसे सादी फ़ाइलें चाहिए, जैसे Nextcloud। अगले कदम: मैं ऑफ-साइट बैकअप के लिए VPS का उपयोग कैसे करूँ?, मैं VPS पर Borg बैकअप सर्वर कैसे सेट करूँ? और 1 TB या अधिक स्टोरेज वाला Nextcloud के लिए सबसे अच्छा VPS कौन सा है?। यदि आपको बाद में बड़ी डिस्क चाहिए, बढ़ने के लिए, बड़ा प्लान ऑर्डर करें और rsync या zfs send से अपना डेटा कॉपी करें; चल रहे सर्वर को जगह पर resize करना launch पर नहीं दिया जाता; प्लान साइज़ मुझे 1 TB स्टोरेज वाला VPS कहाँ मिल सकता है? पर हैं।
स्टोरेज डिस्क माउंट करने के बारे में प्रश्न
मेरी 1 TB डिस्क 931G क्यों दिखती है?
डिस्क साइज़ दशमलव टेराबाइट में बेचे जाते हैं, जबकि lsblk और df बाइनरी इकाइयाँ दर्शाते हैं। 1,000,000,000,000 बाइट लगभग 931 GiB है: वही बाइट, अलग इकाई।
क्या होगा यदि मैं nofail भूल जाऊँ और बूट पर डिस्क अनुपस्थित हो?
systemd माउंट को स्थानीय फ़ाइलसिस्टम के लिए आवश्यक मानता है, इसलिए बूट इमरजेंसी शेल पर रुक सकता है। बिना उस कंसोल के VPS पर जिस तक आप पहुँच सकें, इसका मतलब है सपोर्ट अनुरोध। nofail के साथ, सर्वर बूट होता है और आप SSH पर माउंट ठीक करते हैं।
क्या मुझे हर रीबूट के बाद LUKS डिस्क अनलॉक करनी होगी?
हाँ, ऊपर दिए सेटअप के साथ: SSH पर लॉग इन करें और अनलॉक स्क्रिप्ट चलाएँ। सिस्टम डिस्क अनएन्क्रिप्टेड रहती है ताकि सर्वर हमेशा बूट हो और SSH हमेशा जवाब दे।
क्या मुझे Borg या restic रिपॉज़िटरी के लिए ext4 या XFS उपयोग करना चाहिए?
दोनों काम करते हैं। ext4 को बाद में छोटा किया जा सकता है और आप -m से इसका root reserve ट्रिम कर सकते हैं; XFS को एक संकीर्ण मामले के अलावा छोटा नहीं किया जा सकता। अनिश्चित होने पर, ext4 चुनें।
मैं कैसे जाँचूँ कि डिस्क वहाँ माउंट है जहाँ मुझे अपेक्षा है?
findmnt /srv/data उस माउंट पॉइंट का डिवाइस, फ़ाइलसिस्टम और विकल्प दर्शाता है, और df -h /srv/data इसका आकार और खाली स्थान दिखाता है। यदि इनमें से कोई भी root फ़ाइलसिस्टम दिखाता है, तो डिस्क माउंट नहीं है और डेटा सिस्टम डिस्क पर जा रहा है।
स्रोत (8)
- lsblk(8): ब्लॉक डिवाइस सूचीबद्ध करें — Linux man-pages project (read 2026-11-02)
- fstab(5): UUID और LABEL, nofail, fsck क्रम — Linux man-pages project (read 2026-11-02)
- systemd.mount(5): fstab में nofail और noauto — systemd project (read 2026-11-02)
- mke2fs(8): -m आरक्षित ब्लॉक (डिफ़ॉल्ट 5%), -L लेबल — Linux man-pages project (read 2026-11-02)
- resize2fs(8): ext4 को बढ़ाना और छोटा करना — Linux man-pages project (read 2026-11-02)
- xfs_growfs(8): XFS बढ़ाना, छोटा करने पर सीमाएँ — Linux man-pages project (read 2026-11-02)
- cryptsetup-luksFormat(8): LUKS2 डिफ़ॉल्ट — cryptsetup project (read 2026-11-02)
- cryptsetup-luksHeaderBackup(8): हेडर बैकअप और उसका जोखिम — cryptsetup project (read 2026-11-02)