Difference between revisions of "Ext4 (Русский)"

From ArchWiki
Jump to navigation Jump to search
Line 78: Line 78:
 
* {{Codeline|1=e2fsprogs >= 1.41}}
 
* {{Codeline|1=e2fsprogs >= 1.41}}
  
{{Note|1=Рекомендуется использовать последний релиз Archlinux. Older Arch Linux images (<= 2008.06) ship with an older version of {{Codeline|e2fsprogs}}, but it is a simple matter to {{Codeline|pacman -S e2fsprogs}} from the live environment after setting up networking. Alternatively, [http://www.sysresccd.org/Download SystemRescueCd >= 1.1.4] contains an appropriate version, and is in itself a handy CD to have.}}
+
{{Note|1=Рекомендуется использовать последний релиз Archlinux. Дистрибьютивы старее 2008.06 поставляются со старой версией {{Codeline|e2fsprogs}}, но это решается с помощью {{Codeline|pacman -S e2fsprogs}}. Кстати, [http://www.sysresccd.org/Download SystemRescueCd >= 1.1.4] содержит соответствующую версию, полезно иметь при себе liveCD.}}
  
 
====Сам процесс====
 
====Сам процесс====
  
These instructions were adapted from http://ext4.wiki.kernel.org/index.php/Ext4_Howto and http://bbs.archlinux.org/viewtopic.php?id=61602. They have been tested and confirmed by this author as of January 16, 2009.
+
Следующие инструкции были обновлены из http://ext4.wiki.kernel.org/index.php/Ext4_Howto и http://bbs.archlinux.org/viewtopic.php?id=61602, они были проверены и подтверждены автором 16-ого января 2009 года.
  
* '''UPGRADE!''' Perform a sysupgrade to ensure all required packages are up-to-date: {{Codeline|pacman -Syu}}
+
* '''Обновитесь!''' Обновите систему, чтобы все пакеты были последних версий: {{Codeline|pacman -Syu}}
* '''[[Backup programs|BACK-UP!]]''' Back-up all data on any ext3 partitions that are to be converted to ext4. Although ext4 is considered 'stable' for general use, it is still a relatively young and untested file system. Furthermore, this conversion process was only tested on a relatively simple setup; it is impossible to test each of the many possible configurations the user may be running.
+
* '''[[Backup programs|Резервное копирование!]]''' Скопируйте все данные с интересующего вас ext3 раздела. не смотря на то, что ext4 считается стабильным, это его довольно молодая и непроверенная ФС. Кроме того это руководство было протестировано на довольно "простой" системе, невозможно предсказать поведение множества программ установленных различными пользователями.
* Edit {{Filename|/etc/fstab}} and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4.
+
* Редактируйте {{Filename|/etc/fstab}} и смините тип ФС с ext3 на ext4 для интересующих вас разделов.
  
{{Warning|ext4 is backwards-compatible with ext3 until extents and other new fancy options are enabled. If the user has a partition that is shared with another OS that cannot yet read ext4 partitions, it is possible to mount said partition as ext4 in Arch and still be able to use it as ext3 elsewhere at this point... Not so after the next step! Note, however, that there are fewer benefits to using ext4 if the partition is not fully converted.}}
+
{{Warning|ext4 обратно совместима с ext3 пока расширения(?) и другие новые опции не включены. Вы сможете использовать ваш раздел как ext3 вплоть до следующего шага! После следующего шага ОС/программы не поддерживающие ext4 не смогут работать с вашим разделом.}}
  
* The conversion process with {{Codeline|e2fsprogs}} must be done when the drive is not mounted. If converting one's root (/) partition, the simplest way to achieve this is to boot from some other live medium, as described in the 'Prerequisites' section above.
+
* Процесс конвертации {{Codeline|e2fsprogs}} не может быть осуществлен, пока раздел монтирован. Если речь идет о корневом разделе (/), самы простой способ это загрузиться с liveCD/USB или другого диска/раздела.
** Boot the live medium (if necessary).
+
** Загрузитесь с live раздела (если необходимо).
** For each partition to be converted to ext4:
+
** Для каждого раздела, который необходимо конвертировать:
*** Ensure the partition is '''NOT''' mounted
+
*** Убедитесь, что раздел '''НЕ''' монтирован
*** Run {{Codeline|tune2fs -O extents,uninit_bg,dir_index /dev/the_partition}} (where {{Codeline|/dev/the_partition}} is replaced by the path to the desired partition, such as {{Codeline|/dev/sda1}})
+
*** Запустите {{Codeline|tune2fs -O extents,uninit_bg,dir_index /dev/the_partition}} (где {{Codeline|/dev/the_partition}} это интересующий нас раздел, например {{Codeline|/dev/sda1}})
*** Run {{Codeline|fsck -fDp /dev/the_partition}}
+
*** Запустите {{Codeline|fsck -fDp /dev/the_partition}}
  
{{Note|The user '''MUST''' fsck the filesystem, or it will be unreadable! This fsck run is needed to return the filesystem to a consistent state. '''It WILL find checksum errors in the group descriptors''' -- this is expected. The '-f' parameter asks fsck to force checking even if the file system seems clean. The '-p' parameter asks fsck to 'automatically repair' (otherwise, the user will be asked for input for each error).
+
{{Note|Пользователь '''ДОЛЖЕН''' проверить раздел с помощью fsck, иначе раздел будет не читабилен! Запуск fsck нужен чтобы вернуть ФС в непротиворечивое(consistent) состояние. '''Обязательно обнаружатся ошибки''' -- это ожидается, так и должно быть. Параметр '-f' "говорит" fsck проверить раздел на ошибки даже если он кажется ему правельным. Параметр '-p' заставляет fsck автоматически устранять ошибки (иначе пользователю будет задан вопрос относительно каждой ошибки).
You may need to run fsck -f rather than fsck -fp.}}
+
Возможно вам придется запустить fsck -f вместо fsck -fp.}}
  
* Reboot Arch Linux!
+
* Перезапустите Arch Linux!
  
 
{{Warning|1=If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: {{Codeline|mkinitcpio -p kernel26}}}}
 
{{Warning|1=If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: {{Codeline|mkinitcpio -p kernel26}}}}

Revision as of 20:10, 10 July 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

в процессе перевода

Ext4 - результат эволюции файловой системы ext3. Ext4 в сравнении с ext3 сильнее улучшена, чем ext3 по сравнению с ext2. В ext3 практически просто добавили журналирование, а ext4 изменена более кардинально. В результате получилась ФС с улучшенным дизайном, производительностью, стабильностью, и расширенными возможностями.

Source: Ext4 - Linux Kernel Newbies

Создание раздела ext4 с нуля

  1. Обновите систему: Template:Codeline
  2. Отформатируйте раздел: Template:Codeline (замените Template:Codeline устройством, которое собрались форматировать (например Template:Codeline))
  3. Монтируйте раздел
  4. Добавьте пункт в Template:Filename, в качестве типа ФС укажите ext4
Tip: Прочитайте ман по mkfs.ext4 для других опций; редактируйте Template:Filename чтобы изменить/посмотреть стандартные опции.

Миграция с ext3 на ext4 без потери данных

Есть два способа:

  • монтировать ext3 как ext4 без конвертирования (совместимость)
  • конвертировать раздел ext3 в ext4 (производительность)

Оба способа описаны ниже.

Монтировать ext3 как ext4 без конвертирования

Обоснование

Компромисс между полным преобразованием в ext4 и использованием ext3 это монтирование ext3 как ext4.

Плюсы:

  • Совместимость (ФС может быть монтирована как ext3 и ext4) – Это позволит пользователю читать ФС с дистрибьютивами/программами не поддерживающими ext4 (например Windows с драйвером для ext3)
  • Увеличенная производительность (менее производительно чем полное конвертирование) – Подробности: Ext4 - Linux Kernel Newbies

Минусы:

  • Используются не все возможности ext4
Note: Не считая относительной новизны ext4 (которую можно рассматривать как риск), однако крупных недостатков у этой техники нет.

Сам процесс

  1. Отредактируйте Template:Filename и поменяйте тип ФС с ext3 на ext4 для раздела, который хотите монтировать как ext4.
  2. Размонтируйте раздел/разделы, и снова примонтируйте.
  3. Готово.

Конвертирование ext3 в ext4

Обоснование

To experience the benefits of ext4, an irreversible conversion process must be completed.

Плюсы:

  • Лучшая производительность и все новые фичи ext4 – Подробности: Ext4 - Linux Kernel Newbies

Минусы:

  • Только чтение доступно из под windows (Ext2Explore), т.к. сейчас нет драйверов для записи.
  • Необратимость (Откат с ext4 до ext3 невозможен)

Требования

Необходим следующий софт:

При конвертации раздела /boot:

Note: Патч ext4 по умолчанию включен в пакет grub для Archlinux (по крайней мере на момент написания, но скорей всего он будет включен и позже). В противном случае можно установить grub2.
Warning: Загрузка с ext4 "официально" не поддерживается grub, и в grub2 в процессе разработке. While GRUB does currently work, the 'safe' option is to boot from an ext2 or ext3 /boot partition. Вы были предупреждены!

При конвертации корневого (/) раздела в ext4:

При конвертации корневого (/) загрузочного раздела на CD/USB диске в ext4:

Note: Рекомендуется использовать последний релиз Archlinux. Дистрибьютивы старее 2008.06 поставляются со старой версией Template:Codeline, но это решается с помощью Template:Codeline. Кстати, SystemRescueCd >= 1.1.4 содержит соответствующую версию, полезно иметь при себе liveCD.

Сам процесс

Следующие инструкции были обновлены из http://ext4.wiki.kernel.org/index.php/Ext4_Howto и http://bbs.archlinux.org/viewtopic.php?id=61602, они были проверены и подтверждены автором 16-ого января 2009 года.

  • Обновитесь! Обновите систему, чтобы все пакеты были последних версий: Template:Codeline
  • Резервное копирование! Скопируйте все данные с интересующего вас ext3 раздела. не смотря на то, что ext4 считается стабильным, это его довольно молодая и непроверенная ФС. Кроме того это руководство было протестировано на довольно "простой" системе, невозможно предсказать поведение множества программ установленных различными пользователями.
  • Редактируйте Template:Filename и смините тип ФС с ext3 на ext4 для интересующих вас разделов.
Warning: ext4 обратно совместима с ext3 пока расширения(?) и другие новые опции не включены. Вы сможете использовать ваш раздел как ext3 вплоть до следующего шага! После следующего шага ОС/программы не поддерживающие ext4 не смогут работать с вашим разделом.
  • Процесс конвертации Template:Codeline не может быть осуществлен, пока раздел монтирован. Если речь идет о корневом разделе (/), самы простой способ это загрузиться с liveCD/USB или другого диска/раздела.
    • Загрузитесь с live раздела (если необходимо).
    • Для каждого раздела, который необходимо конвертировать:
Note: Пользователь ДОЛЖЕН проверить раздел с помощью fsck, иначе раздел будет не читабилен! Запуск fsck нужен чтобы вернуть ФС в непротиворечивое(consistent) состояние. Обязательно обнаружатся ошибки -- это ожидается, так и должно быть. Параметр '-f' "говорит" fsck проверить раздел на ошибки даже если он кажется ему правельным. Параметр '-p' заставляет fsck автоматически устранять ошибки (иначе пользователю будет задан вопрос относительно каждой ошибки). Возможно вам придется запустить fsck -f вместо fsck -fp.
  • Перезапустите Arch Linux!
Warning: If the user converted their root (/) partition, a kernel panic may be encountered when attempting to boot. If this happens, simply reboot using the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk: Template:Codeline

Migrating files to extents

Warning: Do NOT use the following method with Mercurial repository that have been cloned locally, as doing so will corrupt the repository. It might also corrupt other hard link in the filesystem.

Even though the filesystem is now converted to ext4, all files that have been written before the conversion do not yet take advantage of the new extents of ext4, which will improve large file performance and reduce fragmentation and filesystem check time. In order to fully take advantage of ext4, all files would have to be rewritten on disk. A utility called e4defrag is being developed and will take care of this task ; however, it is not yet ready for production.

Fortunately, it is possible to use the chattr program, which will cause the kernel to rewrite the file using extents. It is possible to run this command on all files and directories of one partition (e.g. if /home is on a dedicated partition): (Must be run as root)

find /home -xdev -type f -print0 | xargs -0 chattr +e
find /home -xdev -type d -print0 | xargs -0 chattr +e

It is recommended to test this command on a small number of files first, and check if everything is going all right. It may also be useful to check the filesystem after conversion.

Using the lsattr command, it is possible to check that files are now using extents. The letter 'e' should appear in the attribute list of the listed files.

Tips and tricks

Remove reserved blocks

By default 5% of a filesystem will be flagged as reserved for root user. For modern high-capacity disks, this is much higher than necessary - particularly if the partition is not being used for system files. It is generally safe to reduce the percentage of reserved blocks to free up disk space when the partition is either

  • Very large (for example >50 G)
  • Not being used for system files

Use the tune2fs utility to do this. The command below would set the percentage of reserved blocks on the partition /dev/sdXY to 1%:

tune2fs -m 1 /dev/sdXY

Troubleshooting

Kernel Panic

One problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk :

  • Remount the root partition in read-write mode; assuming 'XXX' is your root partition :
# mount /dev/XXX / -o remount,rw
  • Manually mount the boot partition on /boot if it is on a separate partition.
  • Re-create the ramdisk :
# mkinitcpio -p kernel26

During the creation process, Template:Codeline correctly detected and included ext4 modules in the initial ramdisk.

Data Corruption

Some early adopters of ext4 encountered data corruption after a hard reboot. Please read Ext4 data loss; explanations and workarounds for more information.

Since kernel 2.6.30, ext4 is considered "safe(r)." Several patches improved the robustness of ext4 - albeit at a slight performance cost. A new mount option (Template:Codeline) can be used to disable this behavior. For more information, please read Linux 2 6 30 - Filesystems performance improvements.

For kernel versions earlier than 2.6.30, consider adding Template:Codeline to the Template:Codeline line in GRUB's Template:Filename as a preventative measure.

Improving performance

Since kernel 2.6.30, ext4 performance has decreased due to changes that serve to improve data integrity.[1] Users can improve performance with the Template:Codeline option when mounting the disk, but this can be dangerous and may result in data loss or corruption after power failures. To turn barriers off, add the option Template:Codeline to the desired filesystem in Template:Filename. For example:

# /dev/sda5    /    ext4    noatime,barrier=0    0    1

E4rat

E4rat is a preloading application designed for ext4. It monitors files opened during boot, optimizes their placement on the partition to improve access time, and preloads them at the very begining of the boot process.