Solaris 11. Универсальный сервер хранения. Нюансы II.

В продолжение раннего поста –  Solaris 11. Универсальный сервер хранения. Нюансы. – все никак не доходили руки написать.

Как верно было подмечено (см. комментарии по ссылке) – удаление ФС со включенной дедупликацией данных потенциально небезопасный процесс. Что и было подтверждено в результате производственного эксперимента. Было дано – старая V20Z на Оптеронах-248, 2 Гб памяти, два SCSI-диска (один для загрузки (rpool), другой выделенный для пула с данными). Сценарий для быстрого воспроизведения – создаем ФС (zfs create -o dedup=on -o recordsize=<ставим существенно меньше, чем 128к>storage/share).

Закидываем туда “настоящий” файл (/dev/zero – увы – не пройдет – у меня для теста были вполне себе настоящие файлы базы данных размерами всего-то по 4 гигабайта каждый) – любым удобным образом (NFS, CIFS, scp, etc). Удаляем FS (zfs destroy storage/share). Через 30 минут – zdb прекратил работать (I/O error – и точка). Через 1 час (напомню – там лежит 4 Гб данных!) – zfs/zpool команды не работают, через 1,5 часа – система пингуется, открытые ssh-сессии – “залипли”, новые сессии не открываются, консоль на движения не реагирует. Момент, когда это случилось – я (честно признаюсь) упустил. В одной из консолей был открыт vmstat 1, в другой – раз в минуту снимал состояние памяти (через mdb) – откровенного криминала не наблюдалось.

Мораль. Если планируется использовать ZFS+dedup где-то в (около)продуктивной среде – надо обязательно учесть возможные последствия при удалении ФС – для некоторых задач это НЕ критично (и я такие задачи нашел).

Мораль 2. Это надо проверить на Oracle Unified Storage 7000. Озадачился.

Мораль 3. Перезагрузка без физического отключения пула – не поможет (если что). При загрузке системы импорт пройдет автоматом, процесс продолжится без нашего участия. Феерично.

PS: шаги для быстрого воспроизведения проблемы – маловероятно, что в продуктиве будет такая конфигурация, но есть подтверждение о проблемах на нормально recordsize и конфигурации системы хранения:

zfs create -o dedup=on -o recordsize=512 storage/share
cp <amount of data greater than 2 gigs> /storage/share/
zfs destroy storage/share

В моем случае система повисла через полтора часа (Solaris 11, 2xAMD 248, 2GB RAM). На большем (правильном) блоке – объем данных нужно увеличить.

PPS: замечание “где это такой рекордсайз ты взял и это вообще не правильно!!!” – маленький хинт из man zfs:

The size specified must be a power of two  greater  than or equal to 512 and less than or equal to 128 Kbytes.

Более того – я вижу применение такого recordsize в задачах…

2 thoughts on “Solaris 11. Универсальный сервер хранения. Нюансы II.”

  1. Carabini says:

    I have a zfs pool called Storage inside is share a separate zfs file system so not sure that any of the settings to Storage apply down to Storage share or not . The commands I run are usr bin chmod A owner rwxpdDaARWcCos fd allow group rwxpdDaARWcCos fd allow everyone rwxpd DaARWcCos fd allow Storage usr bin chmod A owner rwxpdDaARWcCos fd allow group rwxpdDaARWcCos fd allow everyone rwxpd DaARWcCos fd allow Storage shareand also tried usr bin chmod A user bryan rwxpdDaARWcCos fd allow Storage usr bin chmod A user bryan rwxpdDaARWcCos fd allow Storage shareNew files created anywhere in the directory end up with no permissions ls -alV savedfromPS.psd ———- 1 bryan share 59292 Jul 8 10 28 savedfromPS.psd user bryan rwxpdDaARWcCos ——- allow group 2147483648 rwxpdDaARWcCos ——- allowIt also has the archive bit set meaning if I create the file edit it and try to save I cant do it.One possible issue here is that way back when setting up the system I followed the advice of many online sites that for a NAS you disable the ACLs zfs set aclinherit discard Storagezfs set aclinherit discard Storage sharezfs set aclmode discard Storagezfs set aclmode discard Storage shareI tried changing that back zfs set aclinherit restricted Storagezfs set aclmode groupmask Storagezfs set aclinherit restricted Storage sharezfs set aclmode groupmask Storage shareand re-ran the same usr bin chmod commands above but newly created files over CIFS still have the same empty permissions.

    1. It’s difficult to understand your problem because text is unreadble –
      i dont want misunderstand any important – if it’s interesting for u –
      pls, lets describe your problem here, and we try to get right
      solutions 🙂

      WBR,
      Ilyxa

Leave a Reply