मैं कमांड-लाइन से ext4 विभाजन कैसे बनाऊं और ट्यून करूं?


41

विभाजन (जैसे fdisk)
कमांड लाइन से एक अतिरिक्त हार्ड ड्राइव के विभाजन के लिए उपयोग किए जाने वाले कुछ उपयोगी कमांड क्या हैं? चूंकि अधिकांश प्रकाशित गाइड GParted और अन्य चित्रमय उपयोगिताओं की ओर बढ़ते हैं, इसलिए कुछ कमांड-लाइन अनुक्रमों का सारांश सहायक होगा।

ट्यूनिंग - सुरक्षित स्थान, राइट-बैक और एक्सेस टाइम
सुरक्षित ड्राइव के 100% भर जाने की स्थिति में आरक्षित डिस्क स्थान को अलग से (डिफ़ॉल्ट रूप से) कैसे निकालें। चूंकि मैं केवल 'डेटा' के लिए एक द्वितीयक ड्राइव हूं, आरक्षित क्षेत्र को हटाने से यह सुनिश्चित होता है कि पूरी ड्राइव उपयोग के लिए उपलब्ध है।

मैं लेखन-बनाम बनाम राइट-बैक के बारे में भी उत्सुक हूं और प्रदर्शन में सुधार के लिए एक्सेस टाइम (फ़ाइलों और निर्देशिकाओं पर) के अपडेट को छोड़ रहा हूं।

जवाबों:


64

सबसे पहले:

!! चेतावनी !!

ये आदेश EXAMPLES हैं । विभाजन विभाजन, मोडिंग और फॉर्मिंग फाइल सिस्टम डेटा को नष्ट कर देता है और / या आपकी मशीन को बूट करने से रोक सकता है। बैकअप बनाते हैं। अपने जोखिम पर उपयोग करें। एक ऐसी मशीन पर प्रयास करें, जिस पर आप सभी डेटा खोने का बुरा न मानें। चेतावनी व्यवस्थापक।


जल्दी से एक एकल ext4 विभाजन के रूप में एक ड्राइव सेट अप करने के लिए ...

  1. वर्ग "डिस्क" के देखे गए उपकरण

    lshw -C disk
    
  2. मौजूदा विभाजन तालिका देखें

    fdisk -l
    
  3. मेरे चुने हुए डिवाइस के लिए विभाजन तालिका को संपादित करें (इस मामले में, "sdx")

    fdisk /dev/sdx
    

    FDISK के भीतर, दबाएँ:

    • d... वर्तमान विभाजन को d elete करने के लिए

    • n... n ew विभाजन बनाने के लिए

    • p... इसे P RIMARY विभाजन के रूप में निर्दिष्ट करने के लिए

    • 1... इसे 1 एसटी प्राथमिक विभाजन के रूप में सेट करने के लिए

    • w... करने के लिए डब्ल्यू परिवर्तन अनुष्ठान।

  4. नई विभाजन तालिका प्रदर्शित करें:

    fdisk -l
    
  5. नए विभाजन के फाइल सिस्टम को टाइप के रूप में प्रारूपित करें ext4

    mkfs -t ext4 /dev/sdx1
    
  6. एक नई निर्देशिका बनाएं जहां नई ड्राइव में माउंट होगी:

    mkdir /storage
    mount /dev/sdx1 /storage
    

ट्यूनिंग

  1. आरक्षित ब्लॉक निकालें (यानी 0% पर सेट करें), क्योंकि यह ड्राइव केवल उपयोगकर्ता डेटा के लिए है

    tune2fs -m 0 /dev/sdx1
    
  2. चूंकि सर्वर यूपीएस पर है, इसलिए राइट-बैक सेट करें ताकि ऐप वास्तविक डिस्क लिखने का इंतजार न करें

    tune2fs -o journal_data_writeback /dev/sdx1
    
  3. का उपयोग कर बूट अप माउंट /etc/fstabऔर राइट-बैक नीति भी सेट करें

    vi /etc/fstab
    
  4. fstabअपनी ड्राइव के लिए प्रासंगिक लाइन ढूंढें (या जोड़ें) । Fstab में पैरामीटर्स को सफेद स्थान से अलग किया जाता है, उदाहरण के लिए ऊपर वर्णित ड्राइव निम्नानुसार दिखाई दे सकती है:

    /dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
    
    • पहला पैरामीटर विभाजन की पहचान करता है (या तो / देव / या एक लंबे यूयूआईडी द्वारा);
    • दूसरा पैरामीटर वह पथ है जिसे विभाजन को माउंट किया जाएगा;
    • तीसरा फाइलसिस्टम प्रकार है;
    • चौथे पैरामीटर में विकल्प शामिल हैं;
    • पांचवां dumpबैकअप के लिए अनुसूची है; तथा,
    • छठा पैरामीटर पास-नंबर ( fsckऑर्डर को नियंत्रित करने के लिए उपयोग किया जाता है ) है।

विकल्प बदलें (4 वाँ पैरामीटर):

noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro

रिबूट की जांच करने के लिए कि सब कुछ ठीक हो गया।
याद रखें ये आदेश विनाशकारी हैं! बैकअप लें और सावधान रहें!


3
भंडारण और ext4 के बीच एक स्थान होना चाहिए। तो कमांड की तरह है / देव / sdx1 / भंडारण ext4 सापेक्षता, त्रुटियां = रिमाउंट-आरओ 0 1
गणेश कृष्णन

महान मार्गदर्शक! उचित fstab विकल्प निर्धारित करने के तरीके के बारे में यहां कुछ संदर्भ देना अच्छा होगा (बस किसी सूची का लिंक बहुत अच्छा होगा)
सैंडर

13

का उपयोग करते हुए parted

एक नए हार्ड ड्राइव पर एक नया ext4 विभाजन बनाने के निर्देश के साथ parted(Ubuntu 14.04.4 LTS x64 पर परीक्षण किया गया)। GUID विभाजन तालिका (GPT)parted का समर्थन करता है और बाद में इसके विपरीत, 2TB से ऊपर के विभाजन के लिए उपयोग किया जा सकता है ।fdisk

sudo lshw -C disk *-diskअपनी नई हार्ड ड्राइव का तार्किक नाम देखने के लिए उपयोग करें :

   description: ATA Disk
   product: ST6000NM0024-1HT
   vendor: Seagate
   physical id: 0.0.0
   bus info: scsi@1:0.0.0
   logical name: /dev/sdb
   version: SN05
   serial: Z4D30T30
   size: 5589GiB (6001GB)
   configuration: ansiversion=5 sectorsize=4096

तार्किक नाम है /dev/sdb। हम आरंभ कर सकते हैं:

sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)

sudo parted /dev/sdb printजीपीटी के निर्माण के साथ , हम देख सकते हैं:

username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

हमें डिस्क के आकार को भी जानना होगा (हम एमबी को इकाई के रूप में उपयोग करेंगे):

sudo parted /dev/sdb print unit MB print free

जो इंगित करता है:

Disk /dev/sdb: 6001175MB

अब हम प्राथमिक विभाजन बना सकते हैं ताकि यह पूरी हार्ड ड्राइव की जगह ले ले। विभाजन लेबल सेट करने के लिए:

sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB 

(देखें https://unix.stackexchange.com/a/49274/16704 अगर आप जानना चाहते हैं कि हम क्यों इस्तेमाल करते हैं --align optimal)

इसके साथ sudo parted /dev/sdb print, हम देख सकते हैं कि प्राथमिक विभाजन लेबल बनाया गया है:

username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  6001GB  6001GB  xfs          primary

हमें वास्तव में विभाजन बनाने के लिए mkfs का उपयोग करने की आवश्यकता है :

sudo mkfs.ext4 /dev/sdb1

विभाजन अब बनाया गया है, हमें इसे माउंट करने की आवश्यकता है। ऐसा करने के लिए, sudo nano /etc/fstabऔर निम्न पंक्ति जोड़ें ( /crimeaवह फ़ोल्डर है जिसमें हम नए विभाजन को माउंट करने के लिए चुनते हैं):

/dev/sdb1       /crimea ext4 defaults   0       0      

हम फ़ोल्डर बनाते हैं और पुनः लोड करते हैं /etc/fstab:

sudo mkdir /crimea
sudo mount -a # Remount /etc/fstab without rebooting in Linux

आप नए माउंटेड विभाजन का उपयोग करके देख सकते हैं df -h:

/dev/sdb1                      5.5T   58M  5.2T   1% /crimea

इसके sudo nano /etc/fstabबजाय, उपयोग करने के बजाय /dev/sdb1आप इसका उपयोग UUIDकर सकते हैं, जिसे आप पा सकते हैं sudo lshw -C volume:

*-volume
       description: EXT4 volume
       vendor: Linux
       physical id: 1
       bus info: scsi@1:0.0.0,1
       logical name: /dev/sdb1
       logical name: /crimea
       version: 1.0
       serial: c3559307-795b-66db-9844-8e974c88a1cf
       size: 200MiB
       capacity: 5589GiB
       capabilities: journaled extended_attributes huge_files dir_nlink extents ext4 ext2 initialized
       configuration: created=2016-06-24 14:56:55 filesystem=ext4 lastmountpoint=/boot modified=2016-07-01 17:15:55 mount.fstype=ext4 mount.options=rw,relatime,data=ordered mounted=2016-07-01 17:07:19 name=primary state=mounted

अन्यथा आप बस कर सकते हैं sudo blkid /dev/sdb1:

/dev/sdb1: UUID="c3559307-795b-66db-9844-8e974c88a1cf" TYPE="ext4"

नई लाइन /etc/fstabहोगी:

UUID=c3559307-795b-66db-9844-8e974c88a1cf          5.5T   58M  5.2T   1% /crimea

https://unix.stackexchange.com/a/137868/16704 बताते हैं कि यूयूआईडी (लिक्विड, सीसी बाय-सा 3.0) का उपयोग करना सबसे अच्छा क्यों है:

यूयूआईडी का उपयोग करने का लाभ यह है कि यह वास्तविक डिवाइस नंबर से स्वतंत्र है ऑपरेटिंग सिस्टम आपकी हार्ड डिस्क देता है। छवि आप सिस्टम में एक और हार्ड डिस्क जोड़ते हैं, और किसी कारण से ओएस तय करता है कि आपकी पुरानी डिस्क अब sdbइसके बजाय है sba। यदि बूटस्टब डिवाइस के नाम की ओर इशारा करता है तो आपकी बूट प्रक्रिया खराब हो जाएगी। हालांकि, यूयूआईडी के मामले में, यह ठीक होगा।


सारांश:

sudo lshw -C disk                # Checking the location of the new drive. It is /dev/sdb.     
sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)
sudo parted /dev/sdb print       # Checking that the GPT has been created
sudo parted /dev/sdb print unit MB print free # see 6001175MB size
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition label
sudo mkfs.ext4 /dev/sdb1         # Creating the partition
sudo nano /etc/fstab             # Add line `/dev/sdb1 /crimea ext4 defaults 0 0`
sudo mount -a # Remount /etc/fstab without rebooting

इसके बजाय ओएस अंतिम छोर को बताने के बजाय चेतावनी से बचने के लिए sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBबेहतर होगा ext4 0% 100%: परिणामी विभाजन ठीक से सर्वश्रेष्ठ प्रदर्शन के लिए गठबंधन नहीं किया गया है।
पाब्लो मारिन-गार्सिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.