Ext4 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ext4 [2012/05/18 15:51]
[Ковертация Ext3 разделов в Ext4]
wiki:ext4 [2018/09/27 20:14] (текущий)
Орфографическая ошибка
Строка 1: Строка 1:
 ====== Ext4 ====== ====== Ext4 ======
-Ext4 — журналируемая файловая система,​ предлагаемая для использования по умолчанию инсталятором Ubuntu, начиная с версии 9.10. Количество индексных дескрипторов (i-node) задается только при создании ФС и в дальнейшем может быть только уменьшено((хотя по умолчанию число дескрипторов задается довольно большим,​ но при записи огромного числа маленьких файлов возможна ситуация когда дескрипторов не хватит,​ а место на диске еще есть:​-()). При создании ФС приблизительно 1,8% объёма диска занимается служебными структурами ФС((в частности на i-node)), в дальнейшем размер этих данных увеличиваться будет только на размер каталогов файлов. Кроме того еще 5% (по умолчанию) резервируется для root((этот резерв можно отключить утилитой tune2fs)). Как и в других ФС, используемых в Linux, регистр в именах файлов имеет значение,​ то есть "​Документ.txt"​ и "​документ.txt"​ — это разные файлы, и они без проблем могут находиться в одной директории.\\ В отличии от Ext3 в Ext4 пространство под файлы выделяется экстентами ​(extent - последовательная цепочка блоков,​ для идентификации которой используется только указатель на начало и длина в блокахтогда как при выделении блоками в Ext2/​3 ​требовалось перечислять все блоки, в которых размещен файл). ​+Ext4 — журналируемая файловая система,​ предлагаемая для использования по умолчанию инсталятором Ubuntu, начиная с версии 9.10. Количество индексных дескрипторов (i-node) задается только при создании ФС и в дальнейшем может быть только уменьшено((хотя по умолчанию число дескрипторов задается довольно большим,​ но при записи огромного числа маленьких файлов возможна ситуация когда дескрипторов не хватит,​ а место на диске еще есть:​-()). При создании ФС приблизительно 1,8% объёма диска занимается служебными структурами ФС((в частности на i-node)), в дальнейшем размер этих данных увеличиваться будет только на размер каталогов файлов. Кроме того еще 5% (по умолчанию) резервируется для root((этот резерв можно отключить утилитой tune2fs)). Как и в других ФС, используемых в Linux, регистр в именах файлов имеет значение,​ то есть "​Документ.txt"​ и "​документ.txt"​ — это разные файлы, и они без проблем могут находиться в одной директории.\\ В отличии от Ext3 в Ext4 пространство под файлы выделяется экстентамиextent - последовательная цепочка блоков,​ для идентификации которой используется только указатель на начало и длина в блоках ​(тогда как ​в Ext2/​3 ​при выделении ​места используются отдельные ​блоки ​и требовалось перечислять все блоки, в которых размещен файл). ​
  
 Все утилиты требуемые для работы с Ext4 содержатся в пакете //​e2fsprogs//​. Все утилиты требуемые для работы с Ext4 содержатся в пакете //​e2fsprogs//​.
Строка 9: Строка 9:
 sudo mkfs.ext4 /​dev/<​xxx>​ sudo mkfs.ext4 /​dev/<​xxx>​
 </​code>​ </​code>​
-где <xxx> - название раздела на котором требуется создать файловую систему Ext4. Например,​ sda4.+где <xxx> - название раздела на котором требуется создать файловую систему Ext4. Например,​ sda4 (смотри "​Системный монитор - Файловые системы"​).
  
 <note warning>​Последствия этой команды необратимы. Вся информация,​ хранящаяся на разделе к которому она применялась,​ будет утеряна.</​note>​ <note warning>​Последствия этой команды необратимы. Вся информация,​ хранящаяся на разделе к которому она применялась,​ будет утеряна.</​note>​
Строка 18: Строка 18:
  
 ==== Конвертация в Ext4 ==== ==== Конвертация в Ext4 ====
-Полная конвектация раздела добавит большую часть нововведений Ext4, но некоторые из них будут применяться только к новым файлам. Для того, чтоб ​сконыектировать ​раздел в Ext4 достаточно выполнить следующие действия:​+Полная конвертация раздела добавит большую часть нововведений Ext4, но некоторые из них будут применяться только к новым файлам. Для того, чтобы выполнить ​конвертацию раздела в Ext4 достаточно выполнить следующие действия:​
   -- Включение новых возможностей на разделе с Ext3:   -- Включение новых возможностей на разделе с Ext3:
   ..<​code>​   ..<​code>​
Строка 27: Строка 27:
 sudo e2fsck -pDf /​dev/<​xxx>​ sudo e2fsck -pDf /​dev/<​xxx>​
 </​code>​ </​code>​
-где <xxx> - название раздела который требуется конвектировать в Ext4. +где <xxx> - название раздела который требуется конвертировать в Ext4. 
-<note warning>​После выполнения этой команды ​примонтировать раздел в Ext3 будет невозможно. Если раздел прописан в [[wiki:​fstab|fstab]],​ не забудьте внести соответствующие правки.</​note>​+<note warning>​После выполнения этой команды монтирование ​раздела в Ext3 будет невозможно. Если раздел прописан в [[wiki:​fstab|fstab]],​ не забудьте внести соответствующие правки.</​note>​
  
 ===== Дефрагментация ===== ===== Дефрагментация =====
-ФС в Linux изначально спроектированы так, чтобы файлы фрагментация была как можно меньше. Тем не менее, фрагментированность файлов имеет место быть, и в некоторых случаях может привести к заметному падению производительности дисковой подсистемы.+ФС в Linux изначально спроектированы так, чтобы фрагментация ​файлов ​была как можно меньше. Тем не менее, фрагментированность файлов имеет место быть, и в некоторых случаях может привести к заметному падению производительности дисковой подсистемы.
  
-Вопреки расхожему мнению, ​дефрагментатор ​для Ext4 есть, и не один.+Для Ext4 есть несколько ​дефрагментаторов:
  
-  * [[http://​e2fsprogs.sourceforge.net/​| e2fsprogs]]. ​На 14.11.2010 ​дефрагментатора ''​e4defrag''​ ещё нет в текущем ​стабильном релизе, ​но он содержится в [[http://​git.kernel.org/?​p=fs/​ext2/​e2fsprogs.git;​a=summary|git]].+  * [[http://​e2fsprogs.sourceforge.net/​| e2fsprogs]]. ​Онлайн дефрагментатор ​из стандартного набора утилит.
   * [[http://​ck.kolivas.org/​apps/​defrag/​|Defrag]]. Дефрагментатор от Кона Коливаса. Случаются перерывы в разработке,​ но проект живой, в 2010 появился [[репозиторий#​при_помощи_консоли_новый_способ|PPA-репозиторий]]:​ ''​ppa:​e2defrag/​ppa''​.   * [[http://​ck.kolivas.org/​apps/​defrag/​|Defrag]]. Дефрагментатор от Кона Коливаса. Случаются перерывы в разработке,​ но проект живой, в 2010 появился [[репозиторий#​при_помощи_консоли_новый_способ|PPA-репозиторий]]:​ ''​ppa:​e2defrag/​ppa''​.
   * [[http://​vleu.net/​shake/​|Shake]]. Онлайн-дефрагментатор,​ PPA-репозиторий:​ ''​ppa:​un-brice/​ppa''​.   * [[http://​vleu.net/​shake/​|Shake]]. Онлайн-дефрагментатор,​ PPA-репозиторий:​ ''​ppa:​un-brice/​ppa''​.
  
 ==== e2fsprogs ==== ==== e2fsprogs ====
-  -- Получение исходного кода из git и сборка:+  -- Проверка ​необходимости ​дефрагментации:
   ..<​code>​   ..<​code>​
-sudo aptitude install git +sudo e4defrag -c /dev/<​xxx></​code>​ 
-cd /usr/src +  ..где <xxx> - название раздела,​ который требуется дефрагментироватьНапример,​ sda4.
-sudo git clone git://git.kernel.org/​pub/​scm/​fs/​ext2/​e2fsprogs.git +
-cd e2fsprogs +
-sudo ./​configure +
-sudo make +
-</​code>​+
   -- запуск дефрагментации:​   -- запуск дефрагментации:​
   ..<​code>​   ..<​code>​
-cd misc +sudo e4defrag /​dev/<​xxx></​code>​ 
-sudo ./e4defrag /​dev/<​xxx></​code>​ +  ..где <xxx> - название раздела,​ который требуется ​дефрагментировать. Например,​ sda4.
-  ..где <xxx> - название раздела,​ который требуется ​отформатировать. Например,​ sda4.+
   -- проверка результата (в последней строке вывода должно быть ⩽0.3% non-contiguous):​   -- проверка результата (в последней строке вывода должно быть ⩽0.3% non-contiguous):​
   ..<​code>​   ..<​code>​
Строка 60: Строка 54:
  
 ===== Оптимизация дискового пространства ===== ===== Оптимизация дискового пространства =====
-На свежесозданном разделе с Ext4 обычно выделяется заметно меньше свободного дискового пространства. ​это происходит потому,​ что используется порядка 1,8% на служебные нужды: заголовки групп блоков,​ бинарные поля для учета свободного места, индексные дискрипторы (i-node), основной и резервные копии суперблока. Также по умолчанию резервируется 5% от объема раздела. Это необходимо ​для нужд учетной записи суперпользователя (root) и системных служб (daemons). Обычно это полезно для системного корневого раздела,​ но на пользовательских разделах необходимости в этом резерве нет, особенно на разделах ​небольшого размера, например 120 ГБ, где ​может сказаться банальная нехватка свободного ​места.+На свежесозданном разделе с Ext4 обычно выделяется заметно меньше свободного дискового пространства чем размер раздела. Это происходит потому,​ что используется порядка 1,8% на служебные нужды: заголовки групп блоков,​ бинарные поля для учета свободного места, индексные дескрипторы (i-node), основной и множество ​резервных копий суперблока.\\ 
 +Также по умолчанию, дополнительно ​резервируется 5% от объема раздела для нужд учетной записи суперпользователя (root) и системных служб (daemons). Обычно это полезно для системного корневого раздела,​ но на пользовательских разделах необходимости в этом резерве нет, особенно на разделах большого размера,​ где ​5% превращаются ​в очень приличные объемы (недоступные пользователю).
  
 ==== Изменение процента зарезервированных блоков для нужд суперпользователя ==== ==== Изменение процента зарезервированных блоков для нужд суперпользователя ====
 По умолчанию резервируется 5% от объема раздела или диска. Значение 0 отключает резервирование блоков,​ значение 5 - устанавливает резервирование на 5%. По умолчанию резервируется 5% от объема раздела или диска. Значение 0 отключает резервирование блоков,​ значение 5 - устанавливает резервирование на 5%.
 <​code>​ <​code>​
-sudo tune2fs -m /​dev/<​xxx>​+sudo tune2fs -m /​dev/<​xxx>​
 </​code> ​ </​code> ​
  
-==== Изменение ​процента зарезервированных под служебные нужды блоков ==== +==== Изменение ​числа зарезервированных под служебные нужды блоков ==== 
-Значение 0 отключает резервирование блоков,​ значение 5 - устанавливает резервирование ​на 5%.+Значение 0 отключает резервирование блоков,​ значение 5 - устанавливает резервирование 5-и блоков.
 <​code>​ <​code>​
-sudo tune2fs -r /​dev/<​xxx>​+sudo tune2fs -r /​dev/<​xxx>​
 </​code> ​ </​code> ​
 ===== Ссылки ===== ===== Ссылки =====