Bir ext4 bölümünü komut satırından nasıl oluşturabilir ve ayarlayabilirim?


41

KATILIM (örn. fdisk)
Ek bir sabit diski komut satırından ayırmak için kullanılan bazı yararlı komutlar nelerdir? Yayınlanan kılavuzların çoğu GParted ve diğer grafiksel yardımcı programlara yönlendirildiği için, bazı komut satırı dizilerinin bir özeti yardımcı olacaktır.

TUNING - RESERVED SPACE, WRITE-BACK & ACCESS TIMES
Sürücünün% 100 dolu olması durumunda (varsayılan olarak) bir kenara ayrılmış ayrılmış disk alanı nasıl kaldırılır. Ben sadece 'veri' için ikincil bir sürücü olduğum için, ayrılmış alanı kaldırmak tüm sürücünün kullanım için uygun olmasını sağlar.

Ayrıca yazma ve geri yazma ve performansı artırmak için erişim zamanlarının güncellenmesini (dosyalar ve dizinler) atlamayı da merak ediyorum.

Yanıtlar:


64

İlk ve en önemli:

!! UYARI !!

Bu komutlar şöyle Örnekler . Bölümleri SİLME, DEĞİŞTİRME ve BİÇİMLENDİRME dosya sistemleri verileri tahrip eder ve / veya makinenizin ön yüklenmesini engelleyebilir. Yedekleme yapın. Risk size aittir. Tüm verileri kaybedeceğiniz bir makinede deneyin. uyarı


Tek bir ext4 bölümü olarak sürücüyü hızlıca kurmak için ...

  1. "DISK" sınıfı algılanan aygıtları görüntüleyin

    lshw -C disk
    
  2. Mevcut bölüm tablosunu görüntüle

    fdisk -l
    
  3. Seçtiğim cihaz için bölüm tablosunu düzenleyin (bu durumda, "sdx")

    fdisk /dev/sdx
    

    FDISK içinde, şu tuşa basın:

    • d... etmek d elete akım bölme

    • n... Bir oluşturmak için n ew bölümü

    • p... onu P RIMARY bölümü olarak belirtmek için

    • 1... 1 ST birincil bölümü olarak ayarlamak için

    • w... için w değişiklikleri ayin.

  4. Yeni bölüm tablosunu göster:

    fdisk -l
    
  5. Yeni bölümün dosya sistemini tür olarak biçimlendirin ext4

    mkfs -t ext4 /dev/sdx1
    
  6. Yeni sürücünün bağlanacağı yeni bir dizin oluşturun:

    mkdir /storage
    mount /dev/sdx1 /storage
    

TUNING

  1. Bu sürücü yalnızca kullanıcı verileri için olduğundan ayrılmış blokları kaldırın (% 0 olarak ayarlandı)

    tune2fs -m 0 /dev/sdx1
    
  2. Sunucu UPS’de olduğundan, geri yazma işlemini ayarlayın, böylece uygulamalar gerçek disk yazmalarını beklemez

    tune2fs -o journal_data_writeback /dev/sdx1
    
  3. Açılışta bağlan /etc/fstabve geri yazma politikası kullan

    vi /etc/fstab
    
  4. fstabSürücünüz için ilgili satırı bulun (veya ekleyin) . Fstab içindeki parametreler beyaz boşluklarla ayrılmıştır, örneğin yukarıda açıklanan sürücü aşağıdaki gibi görünebilir:

    /dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
    
    • İlk parametre bölümü tanımlar (/ dev / veya uzun bir UUID ile);
    • İkinci parametre, bölümün monte edileceği yoldur;
    • Üçüncüsü, dosya sistemi türüdür;
    • Dördüncü parametre seçenekleri içerir;
    • Beşinci, dumpyedeklerin zamanlamasıdır; ve,
    • Altıncı parametre şifre numarasıdır ( fscksiparişi kontrol etmek için kullanılır ).

Seçenekleri değiştiriniz (4. parametre):

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

Her şeyin yolunda gittiğini kontrol etmek için yeniden başlatın.
Unutma, bu komutlar yıkıcı! Yedekler al ve dikkatli ol!


3
Depolama ile ext4 arasında bir boşluk olmalıdır. Yani komut / dev / sdx1 / storage ext4 göreceliğine benzer, hatalar = remount-ro 0 1
Ganesh Krishnan

Harika rehber! Burada uygun fstab seçeneklerinin nasıl belirleneceğine dair bazı referanslar almak güzel olurdu (bazı listelere bağlantı yapmak harika olurdu)
Sander

13

kullanma parted

Talimatlar Aşağıda yeni bir sabit diskte yeni ext4 bölümü oluşturmak için parted(Ubuntu 14.04.4 LTS x64 üzerinde test). GUID Bölümleme Tablosunu (GPT)parted destekler ve daha sonra aksine, 2TB üzerindeki bölümler için kullanılabilir .fdisk

sudo lshw -C disk *-diskYeni sabit sürücünüzün mantıksal adını görmek için kullanın :

   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

Mantıksal adı /dev/sdb. Başlayabiliriz:

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

İle sudo parted /dev/sdb printbiz GPT oluşturulan got görebilirsiniz:

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

Ayrıca diskin boyutunu da bilmemiz gerekir (birim olarak MB kullanacağız):

sudo parted /dev/sdb print unit MB print free

hangi gösterir:

Disk /dev/sdb: 6001175MB

Şimdi birincil bölümü oluşturabiliriz, böylece tüm sabit disk alanını kaplar. Bölüm etiketini ayarlamak için:

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

( neden kullandığımızı bilmek istiyorsanız, bkz. https://unix.stackexchange.com/a/49274/16704--align optimal )

İle sudo parted /dev/sdb printana bölüm etiketinin yaratıldığını görebiliriz:

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

Daha sonra , bölümü oluşturmak için mkfs kullanmamız gerekiyor :

sudo mkfs.ext4 /dev/sdb1

Bölüm şimdi yaratıldı, onu monte etmemiz gerekiyor. Bunu yapmak sudo nano /etc/fstabiçin ve aşağıdaki satırı ekleyin ( /crimeayeni bölümü monte etmeyi seçtiğimiz klasördür):

/dev/sdb1       /crimea ext4 defaults   0       0      

Klasörü yaratır ve yeniden yükleriz /etc/fstab:

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

Yeni monteli bölümü aşağıdakileri kullanarak görebilirsiniz df -h:

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

Gelen sudo nano /etc/fstab, kullanmak yerine /dev/sdb1sen onun kullanabilirsiniz UUIDsizinle bulabileceğiniz, 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

Aksi taktirde yapabilecekleriniz sudo blkid /dev/sdb1:

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

Yeni hat /etc/fstabolacak:

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

https://unix.stackexchange.com/a/137868/16704 UUID kullanmanın neden en iyi olduğunu açıklar (tasfiye, cc by-sa 3.0):

UUID kullanmanın avantajı, işletim sisteminin sabit diskinize verdiği gerçek cihaz numarasından bağımsız olmasıdır. Görüntü sisteme başka bir sabit disk ekler ve nedense OS eski diskinizin sdbyerine şimdi olduğuna karar verir sba. Eğer fstab cihaz ismini gösterirse boot işleminiz berbat olur. Ancak, UUID'lerin durumunda, iyi olurdu.


Özet:

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

bunun yerine, sonuna MB'yi söylemek, uyarılmamak sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBiçin koymak daha iyi olur ext4 0% 100%: Sonuçta ortaya çıkan bölüm, en iyi performans için uygun şekilde hizalanmamıştır.
Pablo Marin-Garcia
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.