Sponsored LinksКатегорииLinksUnix Tutorial
Personal Development Ruslan Valiev Solaris Performance Team Damien Farnham Fintan Ryan Nicky Veitch Niall Mullen Sean McGrath DTrace Bryan Cantrill Brendan Gregg ZFS Tim Foster General Ben Rockwood Learning Solaris 10 Privacy policy Архивы |
Wednesday, 18 January. 2006ZFS: работа с файловыми системами
Приветствую!
Подумать только - это, оказывается, всего лишь первая запись в 2006м году! Решил, что больше откладывать нельзя, и собрался написать очередную заметку :) Уже довольно давно я расчистил один из дисков на моей домашней Netra t105, чтобы полностью ввести его под контроль ZFS. В результате был создал zfs-pool размером в 33гб, с которым я теперь и экспериментирую. Сегодня у меня есть немного свободного времени, так что решил поделиться самыми основами работы с файловыми системами ZFS. Вот такой у меня пул: CODE: bash-3.00# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT stock 33.8G 2.40G 31.4G 7% ONLINE - Как я и сказал, состоит он из одного-единственного диска: CODE: bash-3.00# zpool status pool: stock state: ONLINE scrub: scrub stopped with 0 errors on Tue Jan 17 21:00:45 2006 config: NAME STATE READ WRITE CKSUM stock ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 По умолчанию, при создании zfs-пула, всё доступное его пространство представляется в виде одной файловой системы имеющей то же самое название, что и сам пул. Также этой файловой системе присваивается точка монтирования с таким же названием, и файловая система автоматически монтируется. Т.е. после команды zpool create (вот тут есть пример) можно немедленно начинать работу с файловой системой. Я же на данный момент создал себе ещё одну файловую систему, для Oracle 10g. Так что у меня имеется две файловые системы: CODE: bash-3.00# zfs list NAME USED AVAIL REFER MOUNTPOINT stock 2.40G 31.1G 8.50K /stock stock/oracle 2.32G 693M 2.32G /stock/oracle Согласно концепциям ZFS, любые новые создаваемые файловые системы по умолчанию коллективно используют всё доступное дисковое пространство zfs-пула. Поэтому, когда я создаю ещё одну файловую систему в моём zfs-пуле stock, этой файловой системе доступно больше 30Gb: CODE: bash-3.00# zfs create stock/try bash-3.00# zfs list NAME USED AVAIL REFER MOUNTPOINT stock 2.40G 31.1G 9.5K /stock stock/oracle 2.32G 693M 2.32G /stock/oracle stock/try 8K 31.1G 8K /stock/try Для того, чтобы некоторые файловые системы не съедали всё доступное место, их следует ограничивать. Делается это очень легко: CODE: bash-3.00# zfs set quota=512m stock/try bash-3.00# zfs list NAME USED AVAIL REFER MOUNTPOINT stock 2.40G 31.1G 9.5K /stock stock/oracle 2.32G 693M 2.32G /stock/oracle stock/try 8K 512M 8K /stock/try Как можно догадаться из этого примера, quota - это имя параметра файловой системы, а set - опция команды zfs для присвоения параметрам новых значений. Параметров этих довольно много, и большинство можно изменять, но некоторые доступны только для чтения. Вот пример такого параметра и того, что происходит, если пытаться его изменить: CODE: bash-3.00# zfs get mounted stock/try NAME PROPERTY VALUE SOURCE stock/try mounted yes - bash-3.00# zfs set mounted=on stock/try cannot set mounted property: read-only property Полный список параметров можно найти в man-странице zfs, а я покажу ещё только один очень полезный, на мой взгляд, параметр: текущую точку монтирования файловой системы. Как и всё остальное с ZFS, меняется она элементарно, автоматически монтируя файловую систему с новой точки: CODE: bash-3.00# df -k | grep ^stock stock 35112960 8 32597478 1% /stock stock/oracle 3145728 2436188 709540 78% /stock/oracle stock/try 524288 8 524280 1% /stock/try bash-3.00# zfs set mountpoint=/try stock/try bash-3.00# df -k | grep ^stock stock 35112960 8 32597478 1% /stock stock/oracle 3145728 2436188 709540 78% /stock/oracle stock/try 524288 8 524280 1% /try Я специально привёл команды df, чтобы стало понятно, что никаких дополнительных манипуляций с файловой системой try я не производил - это действительно просто! Ну, на сегодня достаточно - в следующий раз расскажу про ещё пару полезных параметров файловых систем ZFS. Удачи в ваших эскпериментах! Обратные ссылки
URI этой записи для создания обратных ссылок (trackback)
Нет обратных ссылок
Комментарии
Показывать комментарии
(Как список | Древовидной структурой)
А какая версия Solaris использовалась?
Скачал Solaris Express b30 с сайта Sun, а установить не могу-сразу после GRUB получаю мусор на экране и всё зависает. Откуда начинать копать? Может быть, можно прикрутить ZFS к Solaris 10 03/05 ?
Смотря что за мусор появляется. Я, к сожалению, пока не помощник с x86 машинами - у меня пока все эксперименты на Sparc-боксе - Netra t1 105... А каким-нибудь не слишком старым x86-боксом специально для игрищ с Solaris я обзаведусь только через месяц-другой.
Насчёт Solaris 10 - нет, так не получится. Чтобы иметь возможность обновлять систему с помощью BFU, нужна версия посвежее. Так что проще попробовать исправить Solaris Express b30 - разобраться, в чём именно дело. Если получится записать информацию - что именно пишется, то может и разберёмся? А после успешного обновления до этого билда, можно будет позже просто обновляться с помощью BFU (это же совсем другой объём скачивать - меньше 100мб)
Чисто случайно понял, в чём проблема - не хватало памяти для распаковки miniroot! Странно, что это так проявляется, а не сообщением об ошибке, позволяющем хотя бы понять, в чём дело.
Под мусором я имею в виду именно мусор-полный экран всяких спецсимволов, да ещё и случайных цветов. Memory corruption, в общем.
Всё хорошо, что хорошо кончается! Ну или начинается, в данном случае, ведь это только инсталляция была ;)
|




