GNU/Linux >> Znalost Linux >  >> Linux

Existuje něco jako „rychlý“ formát pro ext4?

Řešení 1:

Přidejte příznak -E lazy_itable_init

Zde je to, co říká manuálová stránka:

Pokud je povoleno a je povolena funkce uninit_bg, tabulka inodů nebude plně inicializována pomocí mke2fs. To výrazně zrychluje inicializaci souborového systému, ale vyžaduje, aby jádro dokončilo inicializaci souborového systému na pozadí při prvním připojení souborového systému. Pokud je hodnota volby vynechána, její výchozí hodnota je 1, aby byla povolena inicializace líné tabulky inodů.

Řešení 2:

Přísná odpověď

Řešení jako -E lazy_itable_init neměňte výsledek, pouze urychlete proces. To je to, co bylo výslovně požádáno, ale v mnoha případech lidé potřebují více.

Extra bonus

Ve většině případů skutečně chcete nějaké možnosti, které odpovídají vašim zvyklostem používání a nejen urychlují vytváření souborového systému, ale také umožňují rychlejší použití a více využitelného prostoru.

Právě jsem udělal test. I bez použití -E lazy_itable_init , níže uvedené možnosti zrychlují dobu vytvoření 2TB souborového systému ze 16 minut 2 sekundy na 1 minutu 21 sekund (kernel 3.5.0 64bit na Intel i7 2,2 GHz, 2TB disk na připojení USB2 – SATA by pravděpodobně bylo rychlejší).

Pro souborový systém, který pojme velké soubory, používám tuto kombinaci:

mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4

kde -T largefile4 vybírá možnosti v /etc/mke2fs.conf které obecně obsahují něco jako:

    inode_ratio = 4194304
    blocksize = -1

Proveďte man mke2fs podrobnosti o každé z těchto možností.

Zde jsou relevantní úryvky:

               sparse_super
                      Create a filesystem with fewer superblock backup copies (saves space on large filesystems).

               large_file
                      Filesystem can contain files that are greater than 2GB.  (Modern kernels set this feature  automatically
                      when a file > 2GB is created.)

   -i bytes-per-inode
          Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode bytes of space on the disk.  The
          larger the bytes-per-inode ratio, the fewer inodes will be created.  This value generally shouldn't be smaller  than
          the blocksize of the filesystem, since in that case more inodes would be made than can ever be used.  Be warned that
          it is not possible to expand the number of inodes on a filesystem after it is created, so be  careful  deciding  the
          correct value for this parameter.

-m 0 pouze říká, že nevyhrazovat 5 % pro root, což je v pořádku pro datový (ne boot/root) souborový systém. 5 % 2TB disku znamená 100 Gb. To je docela podstatný rozdíl.

Řešení 3:

Výchozí je rychlý formát; nastavení struktur pro svazek ext* trvá mnohem déle než pro svazek NTFS, protože jich je více. Můžete snížit počet superbloků, ale i to jde jen tak daleko.

Řešení 4:

Pokud budete ukládat převážně větší soubory, můžete zvýšit počet bajtů na inod, a tím snížit počet vytvořených inodů. To může podstatně urychlit dobu vytváření.


Linux
  1. Vyhrazený prostor pro root na souborovém systému – proč?

  2. Existuje něco jako certifikovaný inženýr Ubuntu?

  3. mkfs.ext4 Příklady příkazů v Linuxu

  1. Proč neexistuje rozhraní DirectX API pro Linux?

  2. Existuje ekvivalent cd - pro cp nebo mv?

  3. Které funkce ext4 stávající ext4 oddíl používá?

  1. Nastavit Umask pro souborový systém připojený k Sshfs?

  2. Ansible:je možné změnit velikost souborového systému ext4?

  3. změna formátu souborového systému z xfs na ext4 bez ztráty dat