Pertanyaan Bagaimana cara membuat dan mengatur partisi ext4 dari baris perintah?


PARTITIONING (misalnya. fdisk)
Apa beberapa perintah berguna yang digunakan untuk mempartisi hard drive tambahan dari baris perintah? Karena sebagian besar panduan yang dipublikasikan mengarahkan ke GParted dan utilitas grafis lainnya, ringkasan beberapa urutan baris perintah akan sangat membantu.

TUNING - TEMPAT YANG DILINDUNGI, WAKTU TUTUP & AKSES
Cara menghapus ruang disk cadangan yang disisihkan (secara default) seandainya drive menjadi 100% penuh. Karena saya adalah drive sekunder hanya untuk 'data', menghapus area yang disediakan memastikan seluruh drive tersedia untuk digunakan.

Saya juga ingin tahu tentang write-through vs write-back dan melewatkan pembaruan waktu akses (pada file dan direktori) sehingga dapat meningkatkan kinerja.


31
2017-11-30 05:12


asal




Jawaban:


Pertama dan terutama:

!! PERINGATAN !!

Perintah-perintah ini CONTOH. MENGHAPUS partisi, MEMODIFIKASI dan FORMATING sistem file menghancurkan data dan / atau dapat mencegah mesin Anda melakukan booting. Buat cadangan. Gunakan dengan resiko sendiri. Coba pada mesin Anda tidak keberatan kehilangan semua data. peringatan admin.


Untuk segera mengatur drive sebagai partisi ext4 tunggal ...

  1. Lihat perangkat yang terdeteksi dari kelas "DISK"

    lshw -C disk
    
  2. Lihat tabel partisi yang ada

    fdisk -l
    
  3. Edit tabel partisi untuk perangkat yang saya pilih (dalam hal ini, "sdx")

    fdisk /dev/sdx
    

    Dalam FDISK, tekan:

    • d ...untuk delete partisi saat ini

    • n ... untuk membuat npartisi baru

    • p ... untuk menentukannya sebagai PPartisi RIMARY

    • 1 ... untuk mengaturnya sebagai 1ST partisi primer

    • w ...untuk writus perubahan.

  4. Tampilkan tabel partisi baru:

    fdisk -l
    
  5. Format filesystem partisi baru sebagai tipe ext4

    mkfs -t ext4 /dev/sdx1
    
  6. Buat direktori baru tempat drive baru akan dipasang:

    mkdir /storage
    mount /dev/sdx1 /storage
    

TUNING

  1. Hapus blok yang dicadangkan (yaitu ditetapkan ke 0%), karena drive ini hanya untuk data pengguna

    tune2fs -m 0 /dev/sdx1
    
  2. Karena server ada di UPS, Setel write-back jadi aplikasi tidak menunggu penulisan disk yang sebenarnya

    tune2fs -o journal_data_writeback /dev/sdx1
    
  3. Pasang saat boot menggunakan /etc/fstab dan juga mengatur kebijakan write-back

    vi /etc/fstab
    
  4. Temukan (atau tambahkan) baris yang relevan di fstab untuk drive Anda. Parameter dalam fstab dipisahkan oleh spasi, misalnya drive yang dijelaskan di atas mungkin muncul sebagai:

    /dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
    
    • Parameter pertama mengidentifikasi partisi (baik oleh / dev / atau UUID yang panjang);
    • Parameter kedua adalah path partisi yang akan di-mount;
    • Ketiga adalah tipe filesystem;
    • Parameter keempat berisi opsi;
    • Kelima adalah dump jadwal untuk pencadangan; dan,
    • Parameter keenam adalah nomor-pass (digunakan untuk mengontrol) fsck memesan).

Ubah opsi (parameter ke-4) ke:

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

Nyalakan ulang untuk memastikan semuanya berjalan dengan baik.
Ingat perintah-perintah ini bersifat merusak! Miliki cadangan dan berhati-hatilah!


49
2017-11-30 05:12



Harus ada ruang antara penyimpanan dan ext4. Jadi perintahnya seperti / dev / sdx1 / penyimpanan ext4 relatime, errors = remount-ro 0 1 - Ganesh Krishnan
Pemandu hebat! Akan sangat menyenangkan untuk memiliki beberapa referensi di sini tentang cara menentukan opsi fstab yang tepat (hanya tautan ke beberapa daftar akan sangat bagus) - Sander


Menggunakan parted

Di bawah petunjuk untuk membuat partisi ext4 baru pada hard drive baru dengan parted (diuji pada Ubuntu 14.04.4 LTS x64). parted mendukung GUID Partition Table (GPT) dan selanjutnya dapat digunakan untuk partisi di atas 2TB, tidak seperti fdisk.

Menggunakan sudo lshw -C disk *-disk untuk melihat nama logis dari hard drive baru Anda:

   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

Nama logisnya /dev/sdb. Kita bisa mulai:

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

Dengan sudo parted /dev/sdb print, kita dapat melihat GPT telah dibuat:

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

Kita juga perlu mengetahui ukuran disk (kita akan menggunakan MB sebagai unit):

sudo parted /dev/sdb print unit MB print free

yang menunjukkan:

Disk /dev/sdb: 6001175MB

Kita sekarang dapat membuat partisi utama sehingga dibutuhkan seluruh ruang hard drive. Untuk mengatur label partisi:

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

(Lihat https://unix.stackexchange.com/a/49274/16704 jika Anda ingin tahu mengapa kami gunakan --align optimal)

Dengan sudo parted /dev/sdb print, kita dapat melihat label partisi utama telah dibuat:

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

Kami kemudian perlu menggunakannya mkfs untuk benar-benar membuat partisi:

sudo mkfs.ext4 /dev/sdb1

Partisi sekarang dibuat, kita perlu me-mountnya. Untuk melakukannya, sudo nano /etc/fstab dan tambahkan baris berikut (/crimea adalah folder di mana kita memilih untuk me-mount partisi baru):

/dev/sdb1       /crimea ext4 defaults   0       0      

Kami membuat folder dan kembali /etc/fstab:

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

Anda dapat melihat partisi yang baru dipasang menggunakan df -h:

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

Di sudo nano /etc/fstab, daripada menggunakan /dev/sdb1 Anda bisa menggunakannya UUID, yang dapat Anda temukan dengan 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

Kalau tidak, Anda bisa melakukannya sudo blkid /dev/sdb1:

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

Baris baru /etc/fstab akan:

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

https://unix.stackexchange.com/a/137868/16704 menjelaskan mengapa yang terbaik adalah menggunakan UUID (liquidat, cc by-sa 3.0):

Keuntungan menggunakan UUID adalah bahwa ia independen dari nomor perangkat yang sebenarnya yang diberikan oleh sistem operasi hard disk Anda. Gambar yang Anda tambahkan hard disk lain ke sistem, dan untuk beberapa alasan OS memutuskan bahwa disk lama Anda sekarang sdb dari pada sba. Proses boot Anda akan kacau jika fstab akan menunjuk ke nama perangkat. Namun, dalam kasus UUID, itu akan baik-baik saja.


Ringkasan:

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

10
2017-08-13 20:53



bukannya os mengatakan pada MB akhir pada sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB akan lebih baik untuk dimasukkan ext4 0% 100% untuk menghindari Peringatan: Partisi yang dihasilkan tidak selaras dengan benar untuk kinerja terbaik. - Pablo Marin-Garcia