Perkenalan

Perkenalan

31 Juli 2009
Oleh Pierre Vignéras


Abstrak:

Seperti yang mungkin Anda ketahui, Linux mendukung berbagai sistem file seperti Ext2, Ext3, Ext4, XFS, Reiserfs, JFS antara lain. Beberapa pengguna benar -benar mempertimbangkan bagian sistem ini, memilih opsi default dari penginstal distribusi mereka. Dalam artikel ini, saya akan memberikan beberapa alasan untuk pertimbangan yang lebih baik dari sistem file dan tata letaknya. Saya akan menyarankan proses teratas untuk desain tata letak "pintar" yang tetap stabil dari waktu ke waktu untuk penggunaan komputer tertentu.

Perkenalan

Pertanyaan pertama yang mungkin Anda tanyakan adalah mengapa ada begitu banyak sistem file, dan apa perbedaan mereka jika ada? Untuk membuatnya pendek (lihat Wikipedia untuk detailnya):

  • Ext2: Ini adalah Linux FS, maksud saya, yang dirancang khusus untuk Linux (dipengaruhi oleh Ext dan Berkeley FFS). Pro: cepat; Kekurangan: tidak jurnal (long fsck).
  • ext3: ekstensi ext2 alami. Pro: kompatibel dengan Ext2, jurnal; Cons: Lebih lambat dari ext2, karena banyak pesaing, usang hari ini.
  • Ext4: Perpanjangan terakhir dari keluarga ext. Pro: Kompatibilitas naik dengan ext3, ukuran besar; kinerja baca yang bagus; Cons: Sedikit terlalu baru untuk diketahui?
  • JFS: IBM AIX FS porting ke Linux. Pro: matang, cepat, ringan dan andal, ukuran besar; Cons: Masih dikembangkan?
  • XFS: SGI IRIX FS porting ke Linux. Pro: sangat matang dan andal, kinerja rata -rata yang baik, ukuran besar, banyak alat (seperti defragmenter); Cons: Tidak ada sejauh yang saya tahu.
  • Reiserfs: Alternatif untuk Ext2/3 File-System di Linux. Pro: Cepat untuk file kecil; Cons: Masih dikembangkan?

Ada sistem file lain, khususnya yang baru seperti BTRFS, ZFS dan NILFS2 yang mungkin terdengar sangat menarik juga. Kami akan menghadapinya nanti di artikel ini.

Jadi sekarang pertanyaannya adalah: sistem file mana yang paling cocok untuk situasi khusus Anda? Jawabannya tidak sederhana. Tetapi jika Anda tidak benar -benar tahu, jika Anda ragu, saya akan merekomendasikan XFS karena berbagai alasan:

  1. Ini berkinerja sangat baik secara umum dan khususnya pada membaca/menulis secara bersamaan (lihat Benchmark);
  2. Ini sangat matang dan karena itu telah diuji dan disetel secara luas;
  3. Yang terpenting, ia dilengkapi dengan fitur -fitur hebat seperti XFS_FSR, defragmenter yang mudah digunakan (lakukan saja ln -sf $ (yang xfs_fsr) /etc /cron.harian/defrag dan lupakan saja).

Satu -satunya masalah yang saya lihat dengan XFS, adalah Anda tidak dapat mengurangi XFS FS. Anda dapat menumbuhkan partisi XFS bahkan saat dipasang dan digunakan secara aktif (pertumbuhan panas), tetapi Anda tidak dapat mengurangi ukurannya. Oleh karena itu, jika Anda memiliki beberapa sistem yang berkurang perlu memilih sistem file lain seperti ext2/3/4 atau reiserfs (sejauh yang saya tahu Anda tidak dapat mengurangi hot-reduce baik EXT3 atau sistem file reiserfs). Pilihan lain adalah menjaga XFS dan selalu mulai dengan ukuran partisi kecil (karena Anda selalu dapat tumbuh panas sesudahnya).

Jika Anda memiliki komputer profil rendah (atau server file) dan jika Anda benar -benar memerlukan CPU untuk hal lain selain berurusan dengan operasi input/output, maka saya akan menyarankan JFS.

Jika Anda memiliki banyak direktori atau/dan file kecil, Reiserfs mungkin menjadi opsi.

Jika Anda membutuhkan kinerja di semua biaya, saya akan menyarankan ext2.

Jujur, saya tidak melihat alasan untuk memilih Ext3/4 (kinerja? Sungguh?).

Itu untuk pilihan sistem file. Tapi kemudian, pertanyaan lainnya adalah tata letak mana yang harus saya gunakan? Dua partisi? Tiga? Dedikasi /Rumah /? Baca-Hanya /? Terpisah /tmp?

Jelas, tidak ada jawaban tunggal untuk pertanyaan ini. Banyak faktor yang harus dipertimbangkan untuk membuat pilihan yang baik. Pertama -tama saya akan mendefinisikan faktor -faktor itu:

Kompleksitas: Seberapa rumit tata letak secara global;
Fleksibilitas: Betapa mudahnya mengubah tata letak;
Pertunjukan: seberapa cepat tata letak memungkinkan sistem berjalan.

Menemukan tata letak yang sempurna adalah pertukaran antara faktor-faktor tersebut.

Tata letak default

Seringkali, pengguna akhir desktop dengan sedikit pengetahuan Linux akan mengikuti pengaturan default dari distribusinya di mana (biasanya) hanya dua atau tiga partisi yang dibuat untuk Linux, dengan sistem file root ' /', /boot dan swap. Keuntungan konfigurasi semacam itu adalah kesederhanaan. Masalah utama adalah bahwa tata letak ini tidak fleksibel atau berkinerja.

Kurangnya fleksibilitas

Kurangnya fleksibilitas jelas karena berbagai alasan. Pertama, jika pengguna akhir menginginkan tata letak lain (misalnya dia ingin mengubah ukuran sistem file root, atau dia ingin menggunakan sistem file terpisah /TMP), dia harus mem-boot ulang sistem dan menggunakan perangkat lunak partisi (dari liveCD misalnya). Dia harus mengurus datanya karena pengumpulan ulang adalah operasi brute-force yang tidak disadari oleh sistem operasi.

Juga, jika pengguna akhir ingin menambahkan beberapa penyimpanan (misalnya hard drive baru), ia akhirnya akan memodifikasi tata letak sistem (/etc/fstab) dan setelah beberapa saat, sistemnya hanya akan bergantung pada tata letak penyimpanan yang mendasarinya (Nomor, dan lokasi hard drive, partisi, dan sebagainya).

Ngomong -ngomong, memiliki partisi terpisah untuk data Anda (/home tetapi juga semua audio, video, database, ...) membuat lebih mudah perubahan sistem (misalnya dari satu distribusi Linux ke yang lain). Itu juga membuat berbagi data antara sistem operasi (BSD, OpenSolaris, Linux dan bahkan Windows) lebih mudah dan lebih aman. Tapi ini cerita lain.

Pilihan yang baik adalah menggunakan Logical Volume Management (LVM). LVM memecahkan masalah fleksibilitas dengan cara yang sangat baik, seperti yang akan kita lihat. Berita baiknya adalah bahwa sebagian besar distribusi modern mendukung LVM dan beberapa menggunakannya secara default. LVM menambahkan lapisan abstraksi di atas perangkat keras menghilangkan ketergantungan keras antara OS (/etc/fstab) dan perangkat penyimpanan yang mendasarinya (/dev/hda,/dev/sda, dan lainnya). Ini berarti Anda dapat mengubah tata letak penyimpanan - menambahkan dan menghapus hard drive - tanpa mengganggu sistem Anda. Masalah utama LVM, sejauh yang saya tahu, adalah bahwa Anda mungkin kesulitan membaca volume LVM dari sistem operasi lainnya.

Kurangnya kinerja.

Sistem file apa pun yang digunakan (Ext2/3/4, XFS, Reiserfs, JFS), itu tidak sempurna untuk semua jenis data dan pola penggunaan (alias beban kerja). Misalnya, XFS dikenal baik dalam penanganan file besar seperti file video. Di sisi lain, Reiserfs diketahui efisien dalam penanganan file kecil (seperti file konfigurasi di direktori home Anda atau di /dll). Oleh karena itu memiliki satu sistem file untuk semua jenis data dan penggunaan jelas tidak optimal. Satu-satunya poin yang baik dengan tata letak ini adalah bahwa kernel tidak perlu mendukung banyak sistem file yang berbeda, dengan demikian, mengurangi jumlah memori yang digunakan kernel seminimal mungkin (ini juga berlaku dengan modul). Tetapi kecuali kita fokus pada sistem tertanam, saya menganggap argumen ini tidak relevan dengan komputer saat ini.

Memilih hal yang benar: pendekatan teratas

Seringkali, ketika suatu sistem dirancang, biasanya dilakukan di pendekatan bawah ke atas: perangkat keras dibeli sesuai dengan kriteria yang tidak terkait dengan penggunaannya. Setelah itu, tata letak sistem file didefinisikan sesuai dengan perangkat keras itu: "Saya punya satu disk, saya dapat mempartisi dengan cara ini, partisi ini akan muncul di sana, yang lain di sana, dan sebagainya".

Saya mengusulkan pendekatan terbalik. Kami mendefinisikan apa yang kami inginkan di level tinggi. Kemudian kami melakukan perjalanan lapisan dari atas ke bawah, ke perangkat keras nyata - perangkat penyimpanan dalam kasus kami - seperti yang ditunjukkan pada Gambar 1. Ilustrasi ini hanyalah contoh dari apa yang bisa dilakukan. Ada banyak pilihan seperti yang akan kita lihat. Bagian berikutnya akan menjelaskan bagaimana kita bisa sampai ke tata letak global seperti itu.

Gambar 1: Contoh tata letak sistem file. Perhatikan bahwa dua partisi tetap gratis (SDB3 dan SDC3). Mereka dapat digunakan untuk /boot, untuk swap atau keduanya. Jangan "salin/tempel" tata letak ini. Itu tidak dioptimalkan untuk beban kerja Anda. Itu hanya sebuah contoh.

Membeli perangkat keras yang tepat

Sebelum memasang sistem baru, penggunaan target harus dipertimbangkan. Pertama dari sudut pandang perangkat keras. Apakah ini sistem tertanam, desktop, server, komputer multi-pengguna serba guna (dengan TV/Audio/Video/OpenOffice/Web/Chat/P2P, ...)?

Sebagai contoh, saya selalu merekomendasikan pengguna akhir dengan kebutuhan desktop sederhana (web, surat, obrolan, beberapa menonton media) untuk membeli prosesor berbiaya rendah (yang termurah), banyak RAM (maksimum) dan setidaknya dua hard drive.

Saat ini, bahkan prosesor termurah sudah cukup jauh untuk berselancar web dan menonton film. Banyak RAM memberikan cache yang baik (Linux menggunakan memori gratis untuk caching - mengurangi jumlah input/output yang mahal ke perangkat penyimpanan). Ngomong -ngomong, membeli jumlah maksimum RAM yang dapat didukung oleh motherboard Anda adalah investasi karena dua alasan:

  1. Aplikasi cenderung membutuhkan lebih banyak memori; Oleh karena itu memiliki jumlah maksimum memori sudah mencegah Anda menambahkan memori nanti untuk sementara waktu;
  2. Teknologi berubah begitu cepat sehingga sistem Anda mungkin tidak mendukung memori yang tersedia dalam 5 tahun. Pada saat itu, membeli memori lama mungkin akan sangat mahal.

Memiliki dua hard drive memungkinkan mereka digunakan di cermin. Oleh karena itu, jika seseorang gagal, sistem akan terus bekerja secara normal dan Anda akan punya waktu untuk mendapatkan hard drive baru. Dengan cara ini, sistem Anda akan tetap tersedia dan data Anda, cukup aman (ini tidak cukup, cadangkan data Anda juga).

Mendefinisikan pola penggunaan

Saat memilih perangkat keras, dan khususnya tata letak sistem file, Anda harus mempertimbangkan aplikasi yang akan menggunakannya. Aplikasi yang berbeda memiliki beban kerja input/output yang berbeda. Pertimbangkan aplikasi berikut: Loggers (syslog), pembaca surat (Thunderbird, Kmail), mesin pencari (Beagle), database (MySQL, PostgreSQL), P2P (Emule, Gnutella, Vuze), Shells (Bash)… dapatkah Anda melihat input mereka /pola output dan betapa berbeda?

Oleh karena itu, saya mendefinisikan lokasi penyimpanan abstrak berikut yang dikenal sebagai volume logis - LV - dalam terminologi LVM:

TMP.LV:
Untuk data sementara seperti yang ditemukan di/tmp,/var/tmp dan juga di direktori home masing -masing pengguna $ home/tmp (perhatikan bahwa direktori sampah seperti $ home/trash, $ home/.Sampah juga dapat dipetakan di sini. Silakan lihat spesifikasi sampah Freedesktop untuk implikasi). Kandidat lain adalah /var /cache. Gagasan untuk volume logis ini adalah bahwa kami dapat menambah kinerja untuk kinerja dan kami dapat menerima kehilangan data karena data ini tidak penting untuk sistem (lihat Linux File-System Hierarchy Standard (FHS) untuk perincian di lokasi tersebut).
membaca.LV:
Untuk data yang sebagian besar dibaca untuk sebagian besar file biner di /bin, /usr /bin, /lib, /usr /lib, file konfigurasi di /dll dan sebagian besar file konfigurasi di setiap direktori pengguna $ home /.Bashrc, dan sebagainya. Lokasi penyimpanan ini dapat disetel untuk kinerja baca. Kami dapat menerima kinerja tulis yang buruk karena terjadi pada kesempatan yang jarang terjadi (e.G: Saat meningkatkan sistem). Kehilangan data di sini jelas tidak dapat diterima.
menulis.LV:
Untuk data yang sebagian besar ditulis secara acak seperti data yang ditulis oleh aplikasi P2P, atau database. Kita bisa menyetelnya untuk kinerja tulis. Perhatikan bahwa kinerja baca tidak bisa terlalu rendah: baik aplikasi P2P dan database dibaca secara acak dan cukup sering data yang mereka tulis. Kami dapat menganggap lokasi ini sebagai lokasi "serba guna": Jika Anda tidak benar-benar mengetahui pola penggunaan aplikasi yang diberikan, konfigurasikan sehingga menggunakan volume logis ini. Kehilangan data di sini juga tidak dapat diterima.
menambahkan.LV:
Untuk data yang sebagian besar ditulis secara berurutan seperti sebagian besar file di/var/log dan juga $ home/.XSession-errors antara lain. Kami dapat menyetelnya untuk penambahan kinerja yang mungkin sangat berbeda dari kinerja penulisan acak. Di sana, kinerja baca biasanya tidak begitu penting (kecuali jika Anda memiliki kebutuhan spesifik tentu saja). Kehilangan data di sini tidak dapat diterima untuk penggunaan normal (log memberikan informasi tentang masalah. Jika Anda kehilangan log Anda, bagaimana Anda bisa tahu apa masalahnya?).
mm.LV:
untuk file multimedia; Kasing mereka agak istimewa karena mereka biasanya besar (video) dan dibaca secara berurutan. Tuning untuk baca berurutan dapat dilakukan di sini. File multimedia ditulis sekali (misalnya dari penulisan.LV Di mana aplikasi P2P menulis ke MM.lv), dan baca berkali -kali secara berurutan.

Anda dapat menambahkan/menyarankan kategori lain di sini dengan pola yang berbeda seperti berurutan.membaca.LV, misalnya.

Mendefinisikan titik gunung

Misalkan kita sudah memiliki semua lokasi abstrak penyimpanan dalam bentuk/dev/tbd/lv di mana:

  • TBD adalah grup volume yang akan didefinisikan nanti (lihat 3.5);
  • LV adalah salah satu volume logis yang baru saja kami tentukan di bagian sebelumnya (baca.LV, TMP.LV,…).

Jadi kami mengira kami sudah memiliki/dev/tbd/tmp.lv,/dev/tbd/baca.lv,/dev/tbd/tulis.LV, dan sebagainya.

Ngomong-ngomong, kami menganggap bahwa setiap kelompok volume dioptimalkan untuk pola penggunaannya (trade-off telah ditemukan antara kinerja dan fleksibilitas).

Data sementara: TMP.lv

Kami ingin memiliki/tmp,/var/tmp, dan setiap $ home/tmp semuanya dipetakan ke/dev/tbd/tmp.lv.

Yang saya sarankan adalah sebagai berikut:

  1. mount/dev/tbd/tmp.LV ke A /.direktori tersembunyi TMP di tingkat root; Di /etc /fstab, Anda akan memiliki sesuatu seperti itu (tentu saja, karena grup volume tidak diketahui, ini tidak akan berhasil; intinya adalah menjelaskan prosesnya di sini.):
    # Ganti Otomatis oleh sistem file nyata jika Anda ingin # ganti default 0 2 dengan kebutuhan Anda sendiri (man fstab)/dev/tbd/tmp.LV /.TMP Auto Defaults 0 2
  2. mengikat lokasi lain ke direktori di /.TMP. Misalnya, misalkan Anda tidak peduli memiliki direktori terpisah untuk /tmp dan /var /tmp (lihat FHS untuk implikasi), Anda dapat membuat direktori all_tmp di dalam /dev /tbd /tmp.LV dan mengikatnya ke keduanya /tmp dan /var /tmp. Di /etc /fstab, tambahkan baris itu:
    /.tmp /all_tmp /tmp tidak ada yang mengikat 0 0 /.tmp/all_tmp/var/tmp tidak ada yang mengikat 0 0

    Tentu saja jika Anda lebih suka menyesuaikan diri dengan FHS, tidak masalah. Buat dua direktori berbeda FHS_TMP dan FHS_VAR_TMP ke dalam TMP.Volume LV, dan tambahkan garis -garis itu:

    /.TMP /FHS_TMP /TMP Tidak Ada Bind 0 0 /.tmp/fhs_var_tmp/var/tmp tidak ada yang mengikat 0 0
  3. Buat Symlink untuk Direktori TMP Pengguna ke /TMP /Pengguna. Misalnya, $ home/tmp adalah tautan simbolis ke/tmp/$ user_name/tmp (saya menggunakan lingkungan KDE, oleh karena itu, $ home/tmp saya adalah tautan simbolik ke/tmp/kde- $ pengguna sehingga semua aplikasi kde kDe Gunakan LV yang sama). Anda dapat mengotomatiskan proses ini menggunakan beberapa baris ke dalam Anda .Bash_profile (atau bahkan di/etc/skel/.Bash_profile sehingga setiap pengguna baru akan memilikinya). Misalnya:
    Jika tes ! -e $ home/tmp -a ! -e /tmp /kde- $ user; lalu mkdir /tmp /kde- $ user; LN -S/TMP/KDE- $ USER $ HOME/TMP; fi 

    (Script ini agak sederhana dan hanya berfungsi dalam kasus di mana pengguna $ home/tmp dan/tmp/kde- $ belum ada. Anda dapat menyesuaikannya dengan kebutuhan Anda sendiri.)

Kebanyakan Data Baca: Baca.lv

Karena sistem file root berisi /dll, /bin, /usr /bin dan sebagainya, mereka sempurna untuk dibaca.lv. Oleh karena itu, di /etc /fstab saya akan menempatkan yang berikut:

/dev/tbd/baca.Default LV / AUTO 0 1 

Untuk file konfigurasi di direktori rumah pengguna, hal -hal tidak sesederhana seperti yang Anda duga. Seseorang dapat mencoba menggunakan variabel lingkungan xdg_config_home (lihat freedesktop)

Tapi saya tidak akan merekomendasikan solusi ini karena dua alasan. Pertama, beberapa aplikasi yang benar -benar sesuai dengan itu saat ini (lokasi default adalah $ rumah/.konfigurasi saat tidak diatur secara eksplisit). Kedua, adalah jika Anda mengatur xdg_config_home ke bacaan.Sub-direktori LV, pengguna akhir akan mengalami kesulitan dalam menemukan file konfigurasi mereka. Oleh karena itu, untuk kasus itu, saya tidak memiliki solusi yang baik dan saya akan membuat direktori home dan semua file konfigurasi yang disimpan ke tulisan umum.Lokasi LV.

Sebagian besar data tertulis: tulis.lv

Untuk kasus itu, saya akan mereproduksi beberapa cara pola yang digunakan untuk TMP.lv. Saya akan mengikat direktori yang berbeda untuk aplikasi yang berbeda. Misalnya, saya akan memiliki di fstab sesuatu yang mirip dengan ini:

/dev/tbd/tulis.LV /.Tulis Default Otomatis 0 2 /.tulis /db /db tidak ada bind 0 0 /.tulis /p2p /p2p tidak ada bind 0 0 /.tulis /rumah /rumah tidak ada ikatan 0 0 

Tentu saja, ini mengira bahwa direktori DB dan P2P telah dibuat secara tertulis.lv.

Perhatikan bahwa Anda mungkin harus mengetahui akses hak. Salah satu opsi adalah memberikan hak yang sama dari untuk /TMP di mana siapa pun dapat menulis /membaca data mereka sendiri. Ini dicapai dengan perintah linux berikut misalnya: chmod 1777 /p2p.

Sebagian besar ditambahkan data: tambahkan.lv

Volume itu telah disetel untuk aplikasi gaya loggers seperti syslog (dan variannya syslog_ng misalnya), dan logger lainnya (misalnya penebang java). /Etc /fstab harus mirip dengan ini:

/dev/tbd/append.LV /.Tambahkan Default Otomatis 0 2 /.append /syslog /var /log none bind 0 0 /.append/ulog/var/ulog tidak ada yang mengikat 0 0 

Sekali lagi, syslog dan ulog adalah direktori yang sebelumnya dibuat menjadi ditambahkan.lv.

Data Multimedia: MM.lv

Untuk file multimedia, saya cukup menambahkan baris berikut:

 /dev/tbd/mm.Default LV /MM Auto 0 2

Di dalam /mm, saya membuat foto, audio, dan direktori video. Sebagai pengguna desktop, saya biasanya membagikan file multimedia saya dengan anggota keluarga lainnya. Oleh karena itu, hak akses harus dirancang dengan benar.

Anda mungkin lebih suka memiliki volume yang berbeda untuk file foto, audio dan video. Jangan ragu untuk membuat volume logis yang sesuai: Foto.LV, Audios.LV dan video.lv.

Yang lain

Anda dapat menambahkan volume logis Anda sendiri sesuai dengan kebutuhan Anda. Volume logis cukup bebas untuk ditangani. Mereka tidak menambahkan overhead besar dan mereka memberikan banyak fleksibilitas membantu Anda mengambil sebagian besar sistem Anda terutama saat memilih sistem file yang tepat untuk beban kerja Anda.

Mendefinisikan sistem file untuk volume logis

Sekarang titik pemasangan kami dan volume logis kami telah ditentukan sesuai dengan pola penggunaan aplikasi kami, kami dapat memilih sistem file untuk setiap volume logis. Dan di sini kita memiliki banyak pilihan seperti yang telah kita lihat. Pertama-tama, Anda memiliki sistem file itu sendiri (e.G: Ext2, Ext3, Ext4, Reiserfs, XFS, JFS dan sebagainya). Untuk masing -masing dari mereka, Anda juga memiliki parameter tuning (seperti ukuran blok tuning, jumlah inode, opsi log (XFS), dan sebagainya). Akhirnya, saat pemasangan Anda juga dapat menentukan opsi yang berbeda sesuai dengan beberapa pola penggunaan (noatime, data = writeback (ext3), penghalang (xfs), dan sebagainya). Dokumentasi file-sistem harus dibaca dan dipahami sehingga Anda dapat memetakan opsi ke pola penggunaan yang benar. Jika Anda tidak punya ide di mana FS untuk digunakan untuk tujuan apa, berikut adalah saran saya:

TMP.LV:
Volume ini akan berisi banyak jenis data, tertulis/dibaca berdasarkan aplikasi dan pengguna, kecil dan besar. Tanpa pola penggunaan yang ditentukan (kebanyakan dibaca, kebanyakan menulis), saya akan menggunakan sistem file generik seperti XFS atau EXT4.
membaca.LV:
Volume ini berisi sistem file root dengan banyak binari (/bin,/usr/bin), pustaka (/lib,/usr/lib), banyak file konfigurasi (/dll) ... karena sebagian besar datanya dibaca, file tersebut -Sistem mungkin orang dengan kinerja baca terbaik bahkan jika kinerja tulisnya buruk. XFS atau Ext4 adalah opsi di sini.
menulis.LV:
Ini agak sulit karena lokasi ini adalah "cocok semuaLokasi, itu harus menangani baca dan tulis dengan benar. Sekali lagi, XFS atau EXT4 juga merupakan opsi.
menambahkan.LV:
Di sana, kami dapat memilih sistem file terstruktur log murni seperti NILFS2 baru yang didukung oleh Linux sejak 2.6.30 Yang seharusnya memberikan kinerja penulisan yang sangat baik (tetapi waspadalah terhadap keterbatasannya (terutama, tidak ada dukungan untuk ATME, Atribut Extended dan ACL).
mm.LV:
berisi file audio/video yang bisa sangat besar. Ini adalah pilihan yang sempurna untuk XFS. Perhatikan bahwa di IRIX, XFS mendukung bagian waktu-nyata untuk aplikasi multimedia. Ini belum didukung (belum?) di bawah Linux sejauh yang saya tahu.
Anda dapat bermain dengan parameter tuning XFS (lihat Man XFS), tetapi membutuhkan beberapa pengetahuan yang baik tentang pola penggunaan Anda dan pada internal XFS.

Pada level tinggi itu, Anda juga dapat memutuskan apakah Anda membutuhkan dukungan enkripsi atau kompresi. Ini dapat membantu dalam memilih sistem file. Misalnya, untuk mm.LV, kompresi tidak berguna (karena data multimedia sudah dikompresi) sedangkan kedengarannya berguna untuk /rumah. Pertimbangkan juga jika Anda membutuhkan enkripsi.

Pada langkah itu kami telah memilih sistem file untuk semua volume logis kami. Waktu sekarang akan turun ke lapisan berikutnya dan untuk menentukan kelompok volume kami.

Mendefinisikan grup volume (VG)

Langkah selanjutnya adalah mendefinisikan grup volume. Pada level itu, kami akan menentukan kebutuhan kami dalam hal penyetelan kinerja dan toleransi kesalahan. Saya mengusulkan mendefinisikan VG menurut skema berikut: [r | s].[R | w].[n] dimana:

'R' - Singkatan dari acak;
'S' - Singkatan dari berurutan;
'R' - singkatan dari Read;
'W' - singkatan dari Write;
'N' - adalah bilangan bulat positif, nol inklusif.

Huruf menentukan jenis optimasi volume yang disebutkan telah disetel. Angka tersebut memberikan representasi abstrak dari tingkat toleransi kesalahan. Misalnya:

  • R.R.0 berarti dioptimalkan untuk baca acak dengan tingkat toleransi kesalahan 0: kehilangan data terjadi segera setelah satu perangkat penyimpanan gagal (mengatakan sebaliknya, sistem toleran terhadap kegagalan perangkat penyimpanan).
  • S.W.2 berarti dioptimalkan untuk penulisan berurutan dengan tingkat toleransi kesalahan 2: kehilangan data terjadi segera setelah tiga perangkat penyimpanan gagal (mengatakan sebaliknya, sistem toleran terhadap 2 perangkat penyimpanan kegagalan).

Kami kemudian harus memetakan setiap volume logis ke grup volume yang diberikan. Saya menyarankan yang berikut:

TMP.LV:
dapat dipetakan ke RS.Rw.0 grup volume atau RS.Rw.1 tergantung pada kebutuhan Anda tentang toleransi kesalahan. Jelas, jika keinginan Anda adalah bahwa sistem Anda tetap online berdasarkan 24/24 jam, 365 hari/tahun, opsi kedua pasti harus dipertimbangkan. Sayangnya, toleransi kesalahan memiliki biaya baik dalam hal ruang penyimpanan dan kinerja. Oleh karena itu, Anda seharusnya tidak mengharapkan tingkat kinerja yang sama dari RS.Rw.0 VG dan RS.Rw.1 vg dengan jumlah perangkat penyimpanan yang sama. Tetapi jika Anda mampu membayar harga, ada solusi untuk Rs yang cukup berkinerja.Rw.1 dan bahkan Rs.Rw.2, 3 dan lebih banyak lagi! Lebih lanjut tentang itu di level turun berikutnya.
membaca.LV:
dapat dipetakan ke r.R.1 VG (Tingkatkan angka toleran kesalahan jika Anda butuhkan);
menulis.LV:
dapat dipetakan ke r.W.1 vg (hal yang sama);
menambahkan.LV:
dapat dipetakan ke S.W.1 vg;
mm.LV:
dapat dipetakan ke S.R.1 vg.

Tentu saja, kami memiliki pernyataan 'mungkin' dan bukan 'harus' tergantung pada jumlah perangkat penyimpanan yang dapat Anda masukkan ke dalam persamaan. Mendefinisikan VG sebenarnya cukup sulit karena Anda tidak selalu dapat benar -benar abstrak sepenuhnya perangkat keras yang mendasarinya. Tetapi saya percaya bahwa mendefinisikan kebutuhan Anda terlebih dahulu dapat membantu dalam mendefinisikan tata letak sistem penyimpanan Anda secara global.

Kami akan melihat di tingkat berikutnya, cara mengimplementasikan grup volume tersebut.

Mendefinisikan volume fisik (PV)

Level itu adalah tempat Anda benar -benar mengimplementasikan persyaratan grup volume yang diberikan (didefinisikan menggunakan notasi RS.Rw.n dijelaskan di atas). Semoga tidak ada - sejauh yang saya tahu - banyak cara dalam menerapkan persyaratan VG. Anda dapat menggunakan beberapa fitur LVM (mirroring, stripping), raid perangkat lunak (dengan linux md), atau serangan perangkat keras. Pilihannya tergantung pada kebutuhan Anda dan perangkat keras Anda. Namun, saya tidak akan merekomendasikan RAID perangkat keras (saat ini) untuk komputer desktop atau bahkan server file kecil, karena dua alasan:

  • Cukup sering (sebagian besar waktu sebenarnya), apa yang disebut perangkat keras RAID, sebenarnya adalah perangkat lunak RAID: Anda memiliki chipset di motherboard Anda yang menghadirkan pengontrol RAID berbiaya rendah yang membutuhkan beberapa perangkat lunak (driver) untuk melakukan pekerjaan yang sebenarnya. Jelas, Linux Raid (MD) jauh lebih baik baik dalam hal kinerja (saya pikir), dan dalam hal fleksibilitas (pasti).
  • Kecuali jika Anda memiliki CPU yang sangat tua (kelas Pentium II), Raid Soft tidak begitu mahal (ini tidak terlalu berlaku untuk RAID5 sebenarnya, tetapi untuk RAID0, RAID1, dan RAID10, memang benar).

Jadi jika Anda tidak punya ide tentang cara menerapkan spesifikasi yang diberikan menggunakan RAID, silakan lihat Dokumentasi RAID.

Namun beberapa petunjuk:

  • apapun dengan a .0 dapat dipetakan ke raid0 yang merupakan kombinasi serangan paling banyak (tetapi jika satu perangkat penyimpanan gagal, Anda kehilangan segalanya).
  • S.R.1, r.R.1 dan sr.R.1 dapat dipetakan sesuai urutan preferensi untuk RAID10 (minimal 4 perangkat penyimpanan (SD) diperlukan), RAID5 (diperlukan 3 SD), RAID1 (2 SD).
  • S.W.1, dapat dipetakan sesuai urutan preferensi untuk RAID10, RAID1 dan RAID5.
  • R.W.1, dapat dipetakan sesuai urutan preferensi untuk RAID10 dan RAID1 (RAID5 memiliki kinerja yang sangat buruk dalam penulisan acak).
  • sr.R.2 dapat dipetakan ke RAID10 (beberapa cara) dan untuk RAID6.

Saat Anda memetakan ruang penyimpanan ke volume fisik yang diberikan, jangan memasang dua ruang penyimpanan dari perangkat penyimpanan yang sama (i.e. partisi). Anda akan kehilangan keunggulan kinerja dan toleransi kesalahan! Misalnya, membuat /dev /sda1 dan /dev /sda2 bagian dari volume fisik raid1 yang sama tidak berguna.

Akhirnya, jika Anda tidak yakin apa yang harus dipilih antara LVM dan MDADM, saya sarankan MDADM memiliki itu sedikit lebih fleksibel (mendukung RAID0, 1, 5 dan 10, sedangkan LVM hanya mendukung striping (mirip dengan RAID0), dan mirroring (Mirip dengan RAID1)).

Bahkan jika secara ketat tidak diperlukan, jika Anda menggunakan MDADM, Anda mungkin akan berakhir dengan pemetaan satu-ke-satu antara VG dan PVS. Mengatakan sebaliknya, Anda dapat memetakan banyak PV ke satu VG. Tapi ini agak tidak berguna menurut pendapat saya. MDADM memberikan semua fleksibilitas yang diperlukan dalam pemetaan partisi/perangkat penyimpanan ke dalam implementasi VG.

Mendefinisikan partisi

Akhirnya, Anda mungkin ingin membuat beberapa partisi dari perangkat penyimpanan yang berbeda untuk memenuhi persyaratan PV Anda (misalnya, RAID5 membutuhkan setidaknya 3 ruang penyimpanan yang berbeda). Perhatikan bahwa dalam sebagian besar kasus, partisi Anda harus memiliki ukuran yang sama.

Jika Anda bisa, saya sarankan untuk menggunakan perangkat penyimpanan langsung (atau hanya membuat satu partisi tunggal dari disk). Tetapi mungkin sulit jika Anda kekurangan perangkat penyimpanan. Selain itu, jika Anda memiliki perangkat penyimpanan dengan ukuran yang berbeda, Anda harus mempartisi salah satunya.

Anda mungkin harus menemukan beberapa pertukaran antara persyaratan PV Anda dan perangkat penyimpanan yang tersedia. Misalnya, jika Anda hanya memiliki dua hard drive, pasti Anda tidak dapat menerapkan RAID5 PV. Anda harus mengandalkan implementasi RAID1 saja.

Perhatikan bahwa jika Anda benar-benar mengikuti proses teratas yang dijelaskan dalam dokumen ini (dan jika Anda mampu membayar harga kebutuhan Anda tentu saja), tidak ada pertukaran nyata untuk ditangani! 😉

/boot

Kami tidak menyebutkan dalam studi kami /sistem file boot di mana boot-loader disimpan. Beberapa lebih suka memiliki hanya satu / boot single / where / hanyalah sub-direktori. Orang lain lebih suka memisahkan / dan / boot. Dalam kasus kami, di mana kami menggunakan LVM dan MDADM, saya akan menyarankan ide berikut:

  1. /Boot adalah sistem file terpisah karena beberapa boot-loader mungkin mengalami masalah dengan volume LVM;
  2. /Boot adalah sistem file Ext2 atau Ext3 karena format tersebut didukung dengan baik oleh boot-loader mana pun;
  3. /Ukuran boot akan berukuran 100 MB karena initramfs bisa sangat berat dan Anda mungkin memiliki beberapa kernel dengan initramfs mereka sendiri;
  4. /boot bukan volume LVM;
  5. /boot adalah volume raid1 (dibuat menggunakan mdadm). Ini memastikan bahwa setidaknya dua perangkat penyimpanan memiliki konten yang persis sama yang terdiri dari kernel, initramfs, sistem.Peta dan hal -hal lain yang diperlukan untuk boot;
  6. Volume /boot raid1 terbuat dari dua partisi utama yang merupakan partisi pertama pada disk masing -masing. Ini mencegah beberapa bios lama tidak menemukan boot-loader karena keterbatasan 1GB lama.
  7. Boot loader telah diinstal pada kedua partisi (disk) sehingga sistem dapat boot dari kedua disk.
  8. BIOS telah dikonfigurasi dengan benar untuk boot dari disk apa pun.

Menukar

Swap juga merupakan hal yang tidak kami bahas sampai sekarang. Anda memiliki banyak pilihan di sini:

pertunjukan:
Jika Anda membutuhkan kinerja di semua biaya, pasti, buat satu partisi di setiap perangkat penyimpanan Anda, dan gunakan sebagai partisi swap. Kernel akan menyeimbangkan input/output ke setiap partisi sesuai dengan kebutuhannya sendiri yang mengarah ke kinerja terbaik. Perhatikan bahwa Anda dapat bermain dengan prioritas untuk memberikan beberapa preferensi untuk hard disk yang diberikan (misalnya, drive cepat dapat diberikan prioritas yang lebih tinggi).
toleransi kesalahan:
Jika Anda membutuhkan toleransi kesalahan, pasti, pertimbangkan penciptaan volume pertukaran LVM dari R.Rw.1 Volume Group (diimplementasikan oleh RAID1 atau RAID10 PV misalnya).
Fleksibilitas:
Jika Anda perlu mengubah ukuran swap Anda karena beberapa alasan, saya sarankan untuk menggunakan satu atau banyak volume pertukaran LVM.

Sistem file masa depan dan/atau eksotis

Menggunakan LVM Cukup mudah untuk mengatur volume logis baru yang dibuat dari beberapa grup volume (tergantung pada apa yang ingin Anda uji dan perangkat keras Anda) dan untuk memformatnya ke beberapa sistem file. LVM sangat fleksibel dalam hal ini. Jangan ragu untuk membuat dan menghapus sistem file sesuka hati.

Tetapi dalam beberapa hal, sistem file di masa depan seperti ZFS, BTRFS dan NILFS2 tidak akan cocok dengan LVM. Alasannya adalah bahwa LVM mengarah pada pemisahan yang jelas antara kebutuhan aplikasi/pengguna dan implementasi kebutuhan ini, seperti yang telah kita lihat. Di sisi lain, ZFS dan BTRFS mengintegrasikan kedua kebutuhan dan implementasi ke dalam satu hal. Misalnya ZFS dan BTRFS mendukung tingkat RAID secara langsung. Hal yang baik adalah memudahkan pembuatan tata letak sistem file. Yang buruk adalah melanggar beberapa cara pemisahan strategi perhatian.

Oleh karena itu, Anda dapat berakhir dengan XFS/LV/VG/MD1/SD A, B 1 dan BTRFS/SD A, B 2 di dalam sistem yang sama. Saya tidak akan merekomendasikan tata letak seperti itu dan menyarankan untuk menggunakan ZFS atau BTRFS untuk semuanya atau tidak sama sekali.

Sistem file lain yang mungkin menarik adalah nilfs2. Sistem file terstruktur log ini akan memiliki kinerja tulis yang sangat baik (tapi mungkin kinerja baca yang buruk). Oleh karena itu, sistem file seperti itu mungkin menjadi kandidat yang sangat baik untuk volume logis append atau pada volume logis apa pun yang dibuat dari Rs.W.N Volume Group.

Drive usb

Jika Anda ingin menggunakan satu atau beberapa drive USB di tata letak Anda, pertimbangkan yang berikut:

  1. Bandwidth bus USB V2 adalah 480 mbits/s (60 mbytes/s) yang cukup untuk sebagian besar aplikasi desktop (kecuali mungkin video HD);
  2. Sejauh yang saya tahu Anda tidak akan menemukan perangkat USB yang dapat memenuhi bandwidth USB V2.

Oleh karena itu, mungkin menarik untuk menggunakan beberapa drive USB (atau bahkan tetap) untuk menjadikannya bagian dari sistem RAID, terutama sistem RAID1. Dengan tata letak seperti itu, Anda dapat mengeluarkan satu drive USB dari array RAID1, dan menggunakannya (dalam mode read-only) di tempat lain. Kemudian, Anda menariknya lagi di array RAID1 asli Anda, dan dengan perintah Magic Mdadm seperti:

mdadm /dev /md0 -add /dev /sda1

Array akan merekonstruksi secara otomatis dan kembali ke keadaan aslinya. Saya tidak akan merekomendasikan membuat array serangan lain dari USB Drive. Untuk RAID0, jelas: Jika Anda menghapus satu drive USB, Anda kehilangan semua data Anda! Untuk RAID5, memiliki drive USB, dan dengan demikian, kemampuan hot-plug tidak menawarkan keuntungan apa pun: drive USB yang Anda tarik keluar tidak berguna dalam mode RAID5! (Komentar yang sama untuk RAID10).

Drive solid state

Akhirnya, drive SSD baru dapat dipertimbangkan saat mendefinisikan volume fisik. Properti mereka harus diperhitungkan:

  • Mereka memiliki latensi yang sangat rendah (baik baca dan tulis);
  • Mereka memiliki kinerja baca acak yang sangat baik dan fragmentasi tidak berdampak pada kinerja mereka (kinerja deterministik);
  • Jumlah tulisan terbatas.

Oleh karena itu drive SSD cocok untuk mengimplementasikan grup volume RSR#n. Sebagai contoh, MM.lv dan baca.Volume LV dapat disimpan di SSD karena data biasanya ditulis sekali dan dibaca berkali -kali. Pola penggunaan ini sangat cocok untuk SSD.

Kesimpulan

Dalam proses merancang tata letak sistem file, pendekatan teratas dimulai dengan kebutuhan tingkat tinggi. Metode ini memiliki keuntungan yang dapat Anda andalkan pada persyaratan yang dibuat sebelumnya untuk sistem yang serupa. Hanya implementasinya yang akan berubah. Misalnya, jika Anda merancang sistem desktop: Anda mungkin berakhir dengan tata letak yang diberikan (seperti yang ada pada Gambar 1). Jika Anda menginstal sistem desktop lain dengan perangkat penyimpanan yang berbeda, Anda dapat mengandalkan kebutuhan pertama Anda. Anda hanya perlu mengadaptasi lapisan bawah: PVS dan partisi. Oleh karena itu, pekerjaan besar, pola penggunaan atau beban kerja, analisis dapat dilakukan hanya satu kali per sistem, secara alami.

Di bagian berikutnya dan terakhir, saya akan memberikan beberapa contoh tata letak, secara kasar disetel untuk beberapa penggunaan komputer yang terkenal.

Contoh tata letak

Penggunaan apa pun, 1 disk.

Ini (lihat tata letak teratas Gambar 2) adalah situasi yang agak aneh menurut saya. Seperti yang telah dikatakan, saya menganggap bahwa komputer mana pun harus berukuran sesuai dengan beberapa pola penggunaan. Dan hanya memiliki satu disk yang melekat pada sistem Anda berarti Anda menerima kegagalan total dari itu. Tetapi saya tahu bahwa sebagian besar komputer saat ini - terutama laptop dan netbook - dijual (dan dirancang) dengan hanya satu disk tunggal. Oleh karena itu, saya mengusulkan tata letak berikut yang berfokus pada fleksibilitas dan kinerja (sebanyak mungkin):

Fleksibilitas:
karena tata letak memungkinkan Anda untuk mengubah ukuran volume sesuka hati;
pertunjukan:
Karena Anda dapat memilih sistem file (ext2/3, xfs, dan sebagainya) sesuai dengan pola akses data.
Gambar 2: Tata letak dengan satu disk (atas) dan satu untuk penggunaan desktop dengan dua disk (bawah).

Penggunaan desktop, ketersediaan tinggi, 2 disk.

Di sini (lihat tata letak bawah Gambar 2), kekhawatiran kami adalah ketersediaan tinggi. Karena kami hanya memiliki dua disk, hanya RAID1 yang dapat digunakan. Konfigurasi ini menyediakan:

Fleksibilitas:
karena tata letak memungkinkan Anda untuk mengubah ukuran volume sesuka hati;
pertunjukan:
karena Anda dapat memilih sistem file (ext2/3, xfs, dan sebagainya) sesuai dengan pola akses data dan karena r.R.1 VG dapat disediakan oleh RAID1 PV untuk kinerja baca acak yang baik (rata -rata). Namun perhatikan bahwa keduanya.R.n dan rs.W.n tidak dapat disediakan dengan hanya 2 disk untuk nilai n apapun.
Ketersediaan Tinggi:
Jika satu disk gagal, sistem akan terus bekerja dalam mode terdegradasi.

Catatan: Wilayah swap harus berada di RAID1 PV untuk memastikan ketersediaan yang tinggi.

Penggunaan desktop, kinerja tinggi, 2 disk

Di sini (lihat tata letak atas Gambar 3), kekhawatiran kami adalah kinerja tinggi. Namun perhatikan bahwa saya masih menganggap tidak dapat diterima kehilangan beberapa data. Tata letak ini memberikan yang berikut:

Fleksibilitas:
karena tata letak memungkinkan Anda untuk mengubah ukuran volume sesuka hati;
pertunjukan:
karena Anda dapat memilih sistem file (ext2/3, xfs, dan sebagainya) sesuai dengan pola akses data, dan karena keduanya r.R.1 dan Rs.Rw.0 dapat disediakan dengan 2 disk berkat RAID1 dan RAID0.
Ketersediaan sedang:
Jika satu disk gagal, data penting akan tetap dapat diakses tetapi sistem tidak akan dapat bekerja dengan benar kecuali beberapa tindakan dilakukan ke peta /.TMP dan bertukar ke beberapa LV lain yang dipetakan ke VG yang aman.
Catatan: Wilayah swap dibuat dari RS.Rw.0 VG Diimplementasikan oleh RAID0 PV untuk memastikan fleksibilitas (mengubah ukuran daerah swap tidak menyakitkan). Pilihan lain adalah menggunakan langsung partisi keempat dari kedua disk.

Gambar 3: Atas: Tata Letak untuk Penggunaan Desktop Kinerja Tinggi dengan Dua Disk. Bawah: Tata letak untuk server file dengan empat disk.


Server file, 4 disk.

Di sini (lihat tata letak bawah Gambar 3), kekhawatiran kami adalah kinerja tinggi dan ketersediaan tinggi. Tata letak ini memberikan yang berikut:

Fleksibilitas:
karena tata letak memungkinkan Anda untuk mengubah ukuran volume sesuka hati;
pertunjukan:
karena Anda dapat memilih sistem file (ext2/3, xfs, dan sebagainya) sesuai dengan pola akses data, dan karena kedua Rs.R.1 dan Rs.Rw.1 dapat disediakan dengan 4 disk berkat RAID5 dan RAID10.
Ketersediaan Tinggi:
Jika satu disk gagal, data apa pun akan tetap dapat diakses dan sistem akan dapat bekerja dengan benar.

Catatan 1:

Kami mungkin telah menggunakan RAID10 untuk seluruh sistem karena memberikan implementasi RS yang sangat baik.Rw.1 VG (dan juga Rs.Rw.2). Sayangnya, ini dilengkapi dengan biaya: 4 perangkat penyimpanan diperlukan (di sini partisi), masing -masing kapasitas yang sama (katakanlah s = 500 gigabytes). Tetapi volume fisik RAID10 tidak memberikan kapasitas 4*(2 terabyte) seperti yang Anda harapkan. Ini hanya menyediakan setengahnya, 2*s (1 terabytes). 2*S lainnya (1 terabytes) digunakan untuk ketersediaan tinggi (cermin). Lihat dokumentasi RAID untuk detailnya. Oleh karena itu, saya memilih untuk menggunakan RAID5 untuk mengimplementasikan Rs.R.1. RAID5 akan memberikan kapasitas 3*(1.5 gigabytes), S yang tersisa (500 gigabytes) digunakan untuk ketersediaan tinggi. Mm.LV biasanya membutuhkan sejumlah besar ruang penyimpanan karena menyimpan file multimedia.

Catatan 2:

Jika Anda mengekspor melalui direktori NFS atau SMB 'Home', Anda dapat mempertimbangkan lokasi mereka dengan cermat. Jika pengguna Anda membutuhkan banyak ruang, membuat rumah ditulis.LV (lokasi 'fit-all') mungkin mahal karena didukung oleh RAID10 PV di mana setengah dari ruang penyimpanan digunakan untuk mirroring (dan kinerja). Anda memiliki dua opsi di sini:

  1. Entah, Anda memiliki penyimpanan yang cukup atau/dan pengguna Anda memiliki kebutuhan akses menulis acak/berurutan tinggi, RAID10 PV adalah pilihan yang baik;
  2. Atau, Anda tidak memiliki penyimpanan yang cukup atau/dan pengguna Anda tidak memiliki kebutuhan akses menulis acak/berurutan tinggi, RAID5 PV adalah pilihan yang baik.

Pertanyaan, Komentar & Saran

Jika Anda memiliki pertanyaan, komentar, dan/atau saran pada dokumen ini, jangan ragu untuk menghubungi saya di alamat berikut: [email protected].

Hak Cipta

Dokumen ini dilisensikan di bawah a Creative Commons Atribution-Share 2.0 Lisensi Prancis.

Penafian

Informasi yang terkandung dalam dokumen ini hanya untuk tujuan informasi umum. Informasi ini disediakan oleh Pierre Vignéras dan sementara saya berusaha untuk menjaga informasi tetap mutakhir dan benar, saya tidak membuat representasi atau jaminan dalam bentuk apa pun, tersurat atau tersirat, tentang kelengkapan, akurasi, keandalan, kesesuaian atau ketersediaan sehubungan dengan Hormat dokumen atau informasi, produk, layanan, atau grafik terkait yang terkandung dalam dokumen untuk tujuan apa pun.

Setiap ketergantungan yang Anda tempatkan pada informasi tersebut karena itu adalah risiko Anda sendiri. Dalam hal apa pun saya tidak akan bertanggung jawab atas kehilangan atau kerusakan termasuk tanpa batasan, kehilangan atau kerusakan tidak langsung atau konsekuensial, atau kerugian atau kerusakan apa pun yang timbul dari kehilangan data atau keuntungan yang timbul dari, atau sehubungan dengan, penggunaan ini dokumen.

Melalui dokumen ini Anda dapat menautkan ke dokumen lain yang tidak berada di bawah kendali Pierre Vignéras. Saya tidak memiliki kendali atas sifat, konten, dan ketersediaan situs -situs tersebut. Dimasukkannya tautan apa pun tidak selalu menyiratkan rekomendasi atau mendukung pandangan yang diungkapkan di dalamnya.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Cara memeriksa kesehatan hard drive dari baris perintah…
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Unduh Linux
  • Ubuntu 20.04 Panduan
  • Manjaro Linux Windows 10 Dual Boot
  • Pengantar Otomatisasi Linux, Alat dan Teknik