Linux ext3 FAQ (російська версія) (FAQ), Вільне ПЗ, Програмні керівництва, статті

1. Де я можу знайти цей FAQ?
2. Що таке ext3?
3. Чи є у ext3 поштова розсилка або її архів?
4. Де знайти ext3 для Linux?
5. Що мені потрібно для складання Linux-ядра з ext3?
6. Як конвертувати розділ ext2 в ext3? (Як мені використовувати ext3?)
7. Як мені відновити вилучені файли з розділу жорсткого диска з файловою системою ext3?
8. Чому команда df повідомляє, що розділ заповнений, а du вказує на вільний простір?
9. Я скомпілював ext3 модульно, а мій кореневий розділ (/) монтується як ext2.
10. Як конвертувати мій розділ з файловою системою ext3 назад в ext2?
11. Якщо завершення роботи системи пройшло аварійно, чи треба навіть при включеному журналювання запускати e2fsck?
12. Які максимальні обсяги файлової системи ext3 і файлів на ext3?
13. Як конвертувати файл журналу першої (V1) версії в другу (V2)?
14. Як конвертувати мою кореневу файлову систему першої (V1) версії в другу (V2)?
15. Я оновив ext3. Переконвертувати всі розділи жорсткого диска. Тепер при завантаженні я бачу повідомлення “EXT3-fs: mounted filesystem with ordered data mode”. Це нормально?
16. Наскільки стабільна файлова система ext3?
17. На ext3 працює квотування?
18. LILO працює з ext3?
   
   
    1. Де я можу знайти цей FAQ?
   
Оригінальну англійську версію на batleth.sapienti-sat.org/projects/FAQs/ext3-faq.html.
Коментарі та пропозиції надсилайте автору оригіналу, яким є Юрій Хаберланда (Juri Haberland, juri-at-koschikode.com). Не варто ставити йому технічні питання по ext3 – для цього є поштова розсилка ext3-users.
   
   
   
    2. Що таке ext3?
   
   
Ext3 – журнальованою файлова система, розроблена Стівеном Твіді (Stephen Tweedie). Вона сумісна з ext2; фактично її можна розглядати як файлову систему ext2 з журналированием. Можливість журналювання позбавляє вас необхідності чекати роботи fsck і турбуватися про пошкодження метаданих. Окремо варто відзначити, що ви можете безпроблемно переключатися з ext2 на ext3 і назад на вибраному розділі жорсткого диска (partition) – достатньо лише задати правильний тип файлової системи для команди монтування (mount).
   
   
    3. Чи є у ext3 поштова розсилка або її архів?
   
   
Поштова розсилка для користувачів ext3 доступна на https://listman.redhat.com/mailman/listinfo/ext3-users/.
   
Її архів опублікований за адресою https://listman.redhat.com/pipermail/ext3-users/, А також може бути знайдений на marc.theaimsgroup.com/?l=ext3-users.
   
   
   
    4. Де знайти ext3 для Linux?
   
   
Починаючи з Linux-ядра версії 2.4.15 (не використовуйте цей реліз!) Ext3 включена в стандартне ядро, так що вам не потрібні додаткові патчі.
   
Патчі для старіших релізів Linux-ядра 2.4, а також проміжні заплатки доступні на www.zip.com.au/~akpm/linux/ext3/.
   
Старі ext3-патчі для Linux 2.2 можна знайти на ftp://ftp.*.kernel.org/pub/linux/kernel/people/sct/ext3/ або на ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/.
   
На момент написання цього FAQ останньою версією ext3-патча для Linux-ядер 2.2 була досить застаріла 0.0.7a. Зараз роботи над ext3 для Linux 2.2 не ведуться.
   
   
   
    5. Що мені потрібно для складання Linux-ядра з ext3?
   
   
Для Linux починаючи з версії 2.4.16 вам потрібен тільки архів з ядром.
   
Інструкція нижче призначена для ядер 2.2, однак повинна працювати і для старих Linux-релізів з гілки 2.4, у яких немає підтримки ext3. Вам знадобиться архів з ядром і патчі ext3:
   
# cd /usr/src
# wget ftp://ftp.*.kernel.org/pub/linux/kernel/v2.2/linux-2.2.20.tar.bz2
# wget ftp://ftp.*.kernel.org/pub/linux/kernel/people/sct/ext3/ext3-0.0.7a.tar.bz2
# rm -rf linux
# tar -xjvf linux-2.2.20.tar.bz2
# tar -xjvf ext3-0.0.7a.tar.bz2
# cd linux
# cat ../ext3-0.0.7a/linux-2.2.19.kdb.diff / patch -sp1
# cat ../ext3-0.0.7a/linux-2.2.19.ext3.diff / patch -sp1

   
При установці патча виникне помилка в оновленні Makefile через невідповідність підверсії ядра. Можете це спокійно проігнорувати.
   
Після цього потрібно налаштувати ядро ​​(з допомогою make config або make menuconfig) І встановити включеними параметри CONFIG_EXPERIMENTAL і CONFIG_EXT3_FS (CONFIG_EXPERIMENTAL=y, CONFIG_EXT3_FS=y), Після чого зібрати ядро.
   
Крім того, знадобиться пакет e2fsprogs (щонайменше, версія 1.25) з підтримкою ext3, який можна знайти на сайті проекту (e2fsprogs.sourceforge.net).
   
   
   
    6. Як конвертувати розділ ext2 в ext3? (Як мені використовувати ext3?)
   
   
Перед тим, як ви зможете примонтувати розділ жорсткого диска як ext3, необхідно створити журнал на ньому. Найпростіший спосіб зробити це – виконати наступну команду:
   
    # tune2fs -j /dev/hdaX
   
(Замість hdaX необхідно підставити відповідне пристрій.)
   
Команду можна виконувати на примонтувати і на розмонтувати розділах жорсткого диска. При створенні журналу на примонтувати файлової системі з’явиться файл. Journal. не намагайтеся видалити його, не створюйте його резервних копій і не намагайтеся відновити з backup “а! При запуску tune2fs -j на розмонтувати розділі буде створений невидимий файл журналу.
   
Тепер можна монтувати файлу систему як ext3 за допомогою mount:
   
    # mount -t ext3 /dev/hdaX /mnt/somewhere
   
Відформатувати розділ жорсткого диска як ext3 можна за допомогою наступної команди:
   
    mke2fs -j /dev/hdaX
   
(В такому випадку /dev/hdaX можна буде використовувати і як розділу ext2).
   
   
   
    7. Як мені відновити вилучені файли з розділу жорсткого диска з файловою системою ext3?
   
   
Фактично ніяк. Ось що з цього приводу сказав Andreas Dilger, один з розробників:
   
Для перевірки можливості безпечного продовження разлінковкі (unlink) після падіння файлова система ext3 обнуляє покажчики на блоки в inode “ах, а ext2 просто позначає ці блоки як невикористовувані, inode “и – як вилучені, залишаючи покажчики недоторканими.
   
Єдине, що вам залишається робити, – викликати grep для знаходження частин видалених файлів і сподіватися на краще.
   
   
   
    8. Чому команда df повідомляє, що розділ заповнений, а du вказує на вільний простір?
   
   
Коментує Theodore Ts “o, один з розробників ext2:
   
Звичайною причиною для цього є який-небудь користувальницький процес, який зберігає відкритим віддалений файл. Коли подібне відбувається, du не бачить займане цим файлом місце, тому що його вже більше немає в дереві каталогів. Проте дисковий простір, займане файлів, все ще не звільнено. Такі випадки можливі тільки тоді, коли останній процес з відкритим файлом закриває файловий дескриптор або ж цей процес завершується.
   
Можете скористатися програмою lsof для з’ясування, який процес зберігає файл відкритим. Звичайно це який-небудь лог-файл або великий файл бази даних, який вже був змінений, однак більш старий процес продовжує тримати його відкритим.
   
   
   
    9. Я скомпілював ext3 модульно, а мій кореневий розділ (/) монтується як ext2.
(Це питання спочатку запропонував Boris Wesslowski; пізніше його значно переробив Theodore Ts “o.)
   
   
Якщо у вас ext2 зібрана в ядрі монолітно, а ext3 – модульно, і файлової системою є ext2 / 3, ядро ​​завжди буде монтувати кореневий розділ як ext2, а не ext3, т. к. під час монтування ядром кореневого розділу файлової системи у нього ще немає доступу до модулів у зв’язку з тим, що вони розташовані на цьому самому кореневому розділі. (Традиційна проблема курки і яйця.)
   
Якщо у вас є вибір, варто подумати про доцільність складання ext3 модульно. Якщо хочете використовувати ext3 на кореневої файлової системи, модуль ext3 завжди буде завантажений, і ви не зможете вивантажити його назад, так що, ймовірно, варто його скомпілювати монолітно. Більш того, на модулі витрачається трохи більше пам’яті (в середньому, 2k на модуль), і для нього потрібна додаткова запис в кеші TLB – ледь вловимий, а можливо, і зовсім непомітний недолік, однак якщо у модульної збірки ext3 немає ніяких переваг, чи варто так робити?
   
Якщо ви все ж хочете скомпілювати ext3 модульно і використовувати його для своєї кореневої файлової системи, необхідно завантажитися на образ initial ramdisk (initrd) як на кореневій образ (root image). Образ initrd буде містити необхідні модулі (scsi, ext3 і т.п.), так що можете примонтувати свою “справжню” кореневу файлову систему і потім скористатися pivot_root для заміни кореневої файлової системи initrd на “справжню”.
   
Більшість дистрибутивів виконують дію pivot_root автоматично, але існують відмінності в тому, як повинна бути викликана утиліта, що створює образ initrd.


   
    10. Як конвертувати мій розділ з файловою системою ext3 назад в ext2?
   
   
В дійсності, потреба в цьому мінімальна, тому що в більшості випадків цілком достатньо буде примусово примонтувати розділ жорсткого диска як ext2. Якщо ж ви все-таки хочете повернути розділу ext2 замість ext3, то потрібно виконати наступну команду на розмонтувати пристрої:
   
    # tune2fs -O ^has_journal /dev/hdaX
   
На всякий випадок після цієї операції корисно запустити перевірку з fsck:
   
    # fsck.ext2 -f /dev/hdaX
   
Тепер можна спокійно видаляти файл. Journal, якщо такий є.
   
   
   
    11. Якщо завершення роботи системи пройшло аварійно, чи треба навіть при включеному журналювання запускати e2fsck?
   
   
Коментує Theodore Ts “o:
   
Краще завжди запускати e2fsck. […]
   
E2fsck автоматично запустить журнал, і якщо в файловій системі збереглася цілісність, утиліта не буде проводити повну перевірку.
   
Якщо ж у файловій системі виявлені якісь проблеми (тому що під час попереднього запуску ядро ​​помітило деякі протиріччя), e2fsck автоматично проведе повну перевірку, якщо це необхідно.
   
Якщо у вас багато дисків, fsck запустить безліч процесів e2fsck в паралельному режимі, тим самим прискоривши час завантаження, якщо ви дозволите ядру відтворювати журнал для кожної файлової системи, яку воно намагається примонтувати, – інакше доступ до журналу буде здійснюватися послідовно, а не паралельно.
   
   
   
    12. Які максимальні обсяги файлової системи ext3 і файлів на ext3?
(Надихнув на публікацію відповіді на це питання Andreas Dilger, а запропонував його – Christian Kujau.)
   
   
Файлова система ext3 може підтримувати файли розміром до 1 ТБ. З Linux-ядром 2.4 обсяг файлової системи обмежений максимальним розмір блочного пристрою, що складає 2 терабайта. В Linux 2.6 (для 32-розрядних процесорів) максимальний розмір блокових пристроїв становить 16 ТБ, проте ext3 підтримує тільки до 4 ТБ.
   
   
   
    13. Як конвертувати файл журналу першої (V1) версії в другу (V2)?
   
   
Для конвертації старої (ext3 v0.0.3 або більш ранні релізи) файлової системи в новий формат журналу скористайтеся наступною командою:
   
    # mount /dev/hdaX /mnt -o journal=update
   
   
   
    14. Як конвертувати мою кореневу файлову систему першої (V1) версії в другу (V2)?
   
   
Введіть:
   
    # lilo -R linux rw rootflags=journal=update
   
І перезавантажте систему.
   
   
   
    15. Я оновив ext3. Переконвертувати всі розділи жорсткого диска. Тепер при завантаженні я бачу повідомлення “EXT3-fs: mounted filesystem with ordered data mode”. Це нормально?
   
   
Nigel Metheringham відповів на це питання в поштовій розсилці ext3-users:
   
Все в порядку. Повідомлення EXT3-fs просто повідомляє вас про те, що монтування файлової системи пройшло успішно. Крім того, каже, який вид журналювання ви використовуєте.
   
У ext3 є журнали двох форматів:


Журнали другої версії підтримують додаткову семантику, необхідну для журналювання метаданих, і надають дві форми журналювання: впорядковану (ordered) і з зворотним записом (writeback). Журнали обох версій підтримують журналювання даних (коли всі дані, що надходять на диск, журналіруются).
   
В дистрибутивному файлі CHANGES повідомляється наступне:
   
Нові опції монтування:

“mount -o journal=update”
Монтує файлову систему з журналом першої версії, динамічно
оновлюючи журнал до версії 2.

“mount -o data=journal”
Журналірует всі дані та метадані, так що дані записуються
двічі. Це режим, який використовували всі попередні версії ext3.

“mount -o data=ordered”
Журналірует тільки зміни метаданих, але поновлення даних
скидаються на жорсткий диск до здійснення транзакції. Дані
записуються не атомарно, але цей режим гарантує, що після
падіння файли не будуть містити блоки даних із застарілих файлів.

“mount -o data=writeback”
Журналірует тільки зміни метаданих, а поновлення даних
повністю залишаються для нормального процесу синхронізації (“sync”)
Після падіння файли можуть містити блоки даних із застарілих
файлів: цей режим абсолютно еквівалентний запуску ext2 з дуже
швидким fsck при перезагрузках комп’ютера.

Режими Ordered і Writeback вимагають наявності журналу другої версії. Якщо ви не хочете оновлювати формат журналу, то буде доступно тільки журнал роботи в режимі Journaled.

Для журналу першої версії (journal V1) за замовчуванням працює режим Journaled, а для V2 – Ordered.
   
Подробиці доступні в “Release Notes“До Red Hat Linux 7.2.
   
   
   
    16. Наскільки стабільна файлова система ext3?
   
   
На моєму досвіді ext3 стабільна так само, як і ext2.
   
   
   
    17. На ext3 працює квотування?
   
   
Квоти повинні працювати з Linux-ядрами 2.4 (і 2.6 – прим. Перекл.). У мене були проблеми з 2.2, але в інших їх не спостерігалося.
   
   
   
    18. LILO працює з ext3?
   
   
Так.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*