Archive

Posts Tagged ‘OpenSolaris’

Восстановление ZFS с помощью OSol LiveCD

В конце октября в Opensolaris была интегрированна интересная возможность – откат группы транзакций из коммандной строки. Почитать можно здесь. Полезно в случае проблем возникновения проблем с оборудованием – “битыми” RAID-контроллерами, например – короче, всякий раз, когда ZFS сталкивается с невозможностью проконтроллировать корректную запись блоков данных на диски. В результате – мы не можем импортировать свой пул, а рекоммендация в такой ситуации была одна – восстановление с бэкапа после приведения в порядок “железа” (ну или вдумчивый – очень вдумчивый!!! – анализ происходящего). Степень “полезности” этой функции я бы поставил чуть ли не выше наличия, например, дедупликации.

Посмотрел, отметил “зачетность” сей возможности, порадовался. Вспомнил про Oracle 10 + Solaris 10 с далеко не самым последним релизом, стоящий на V40z и контроллерах Adaptec – в продуктивной среде. Полезность этого нововведения резко сократилась до домашнего и внутриоффисного применения. Забыл до поры, до времени.

А вот сегодня – натолкнулся на крайне полезную заметочку. Смысл прост – качаем LiveCD Opensolaris latest bits (build 128+), загружаемся с него, делаем дальше все по инструкции от Виктора – она предельно проста и перевода не требует. Сам бы не додумался – особенно когда мне это надо было бы делать в “запарке” по факту наличия разваленного пула на площадке – времени бы на “подумать” не оставили бы ;(

Мораль – даже для настоящих джедаев с тяжеленным приложением Opensolaris может оказаться достаточно интересным и полезным.

PS: резонно подметили – “настоящие джедаи не используют ZFS” – это точно подмечено, они используют чОрную коробочку под название Veritas Volume Manager, они консервативны и предпочитают оплачивать свои проблемы заранее, а не по мере их возникновения. Проблемы имеют обыкновения проявляться, как показала практика, даже в самых стабильных и простых конфигурациях. Да, конфигурабельно, да, отлажено, да – много лет на рынке. Но и проблемы – тоже, кхм, оттачивались много-много лет ;) И не все так гладко – в том числе и из-за немаленькой стоимости этого решения.

PPS: все-таки хотелось увидеть эту “фишку” в обычном, привычном для заказчиков и поддерживаемом, Solaris 10 – хотя пора думать о выходе Solaris 11 – в котором будет ВСЕ :)

OSol dev build 130

Собственно, вышел.

Пришло время сделать резкие движения ;) Перевожу свой пул с не очень важными данными на включенное свойство с дедупликацией (как коряво сказал, блин). zvol для iSCSI для TimeMachine пока не буду трогать – хотя результат тестирования меня порадовал, особенно совместно с компрессией.

PS: “фишки” релиза:
- поддержка установки на iSCSI таргеты
- поддержка загрузки с Automated Installer образа
- Конструктор Дистрибутива (Distribution Constructor) для создания виртульных образов OVF 1.0
- обновленная поддержка расширенных и логических разделов (GParted рулит? Станет проще устанавливать как вторую ОС)

Ну как-то так – по английски хорошо написано здесь.

Osol 2010.02. Закончилось место в rpool?

Нда, трагедия ;) Не смог обновиться до build 129:

Action upgrade failed for 'kernel/misc/amd64/acpica' (pkg://opensolaris.org/SUNWckr):
 IOError: [Errno 28] No space left on device
 The running system has not been modified. Modifications were only made to a clone of the running system.  This clone is mounted at /tmp/tmpHuaQTJ should you wish to inspect it.
pkg: An unexpected error happened during image-update: [Errno 28] No space left on device: '/var/pkg/history/20091214T182039Z-01.xml'
pkg: An error was encountered while attempting to store information about the
current operation in client history.
pkg: [Errno 28] No space left on device: '/var/pkg/history/20091214T182039Z-01.xml'
Update Phase ...

Ну, не трагедия. Читаем внимательно вот эту статью.

Особо внимательно читаем про зачистку ВСЕХ ваших загрузочных сред (у меня их осталось три).

Обратите внимание на этот баг – всякий раз после обновления pkg image-update – flush-content-cache-on-success флаг сбрасывается в false (то есть – снова накопление).

PS: хм, не мало:
ilyxa@home:~$ du -hs /var/pkg/download
4.1G /var/pkg/download
ilyxa@home:~$

rge и Opensolaris. Решение было близко ;)

Dec 5 00:02:37 home rge: [ID 801725 kern.info] NOTICE: rge0: Tx stall detected, watchdog code 0x18144
Dec 5 00:02:38 home rge: [ID 801725 kern.info] NOTICE: rge0: automatic recovery activated

Все-таки не все проблемы решены – при большом объеме передаваемых данных все-таки что-то происходит с интерфейсом – ну, по крайней мере – оно не “умирает”.

PS: update от автора – any work on bug ID 6807184 by Masayuki Murayama – кажеться, проблема решена окончательно? Ждем интеграции!

JeOS testing (VBox)

Создаем VM, запускаем ее:

VBoxManage createvm --name JeOS --ostype OpenSolaris_64 --register
VBoxManage modifyvm JeOS --nic1 bridged --nictype1 82540EM --bridgeadapter1 "en1: AirPort" \
--memory "768" --hwvirtex on --vtxvpid on --boot1 disk \
--vrdp on --vrdpport 3389 --vrdpauthtype null
VBoxManage storagectl JeOS --name ide-boot --add ide --controller ICH6 
VBoxManage storageattach JeOS --storagectl ide-boot --port 0 --device 0 \
--type hdd \
--medium /Users/ilyxa/Desktop/OSOL0906JeOSProto/JeOS-0906-proto-x86-b002-preview-v10.vdi 
VBoxManage storageattach JeOS --storagectl ide-boot --port 0 --device 1 \
--type hdd \
--medium /Users/ilyxa/Desktop/OSOL0906JeOSProto/instance.vdi 
VBoxHeadless -s JeOS &

Не забываем поменять пути к образам дисков, настройки сети – я на Маке, вы на Windows (или Solaris?).

NWAM по умолчанию получает адрес по DHCP (ну мы-то хитрые ;) , и адрес, конечно, заранее “нарисовали” в своем DHCP-сервере). Потому просто идем по ssh, предварительно развернув заготовленные ключи и не забываем почитать инструкцию:

cd /Users/ilyxa/Desktop/OSOL0906JeOSProto/
unzip sshvmkeys.virtdisks.zip
cd sshvmkeys.virtdisks
chmod 600 sshvmkey*
ssh -2 -i ./sshvmkeyrsa.key -o "StrictHostKeyChecking no" osol@192.168.1.7

Затрачено: 5 минут на готовую O/S. СУПЕР!

PS: ну дальше все совсем просто – pkg install в руки и вперед! Не менее интересен способ развертывания через instance.vdi – он же, кстати, и основной :)

set dedup=on

root@home:~# beadm list
BE                        Active Mountpoint Space  Policy Created
--                        ------ ---------- -----  ------ -------
osol-dev-128a             NR     /          25.46G static 2009-12-04 12:38
root@home:~# zfs list pool_d
NAME     USED  AVAIL  REFER  MOUNTPOINT
pool_d   712K  63.4M   644K  /pool_d
root@home:~# zpool status pool_d
  pool: pool_d
 state: ONLINE
 scrub: none requested
config:

        NAME                STATE     READ WRITE CKSUM
        pool_d              ONLINE       0     0     0
          /pool1/zfstest/1  ONLINE       0     0     0

errors: No known data errors
root@home:~# zpool list pool_d
NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
pool_d  95.5M   140K  95.4M     0%  18.00x  ONLINE  -
root@home:~#

No comment: DEDUP=18.00x! Сегодня буду пробовать на живых данных (относительно большая библиотека изображений, около 150 Gb).

Приступили к тестированию JeOS

Не хватало легкого, простого и понятного в администрирование дистрибутива (Opensolaris), не отягощенного. Теперь он есть и называется JeOS – “virtual machine (VM) image prototype is a reduced footprint, pre-installed form of the OpenSolaris 2009.06 distribution available for a variety of virtualization platforms” (c).

Инсталляция – элементарная. Настройки – суть – тоже. То, что надо, для быстрого и беспроблемного развертывания в виртуальной среде.

В целом – это не бета, это прототип. Базируется на (уже) проверенной Opensolaris 2009.06 (build 111), но Sun официально не поддерживается – нас это не остановит ;)

PS: почти готова Sun Fire T2000 для развертывания LDOM – там тоже будем тестировать – в ближайшее время.

Build 128 arrived! Прибытие :)

Thur Dec 03 2009 OpenSolaris preview, based on build 128a, is available! The suffix ‘a’ on the release number, indicates that this is a “re-spun” release of version 128 to fix known bugs. This is also the first release of OpenSolaris to include the new ZFS Deduplication (data de-duplication) functionality. Way2Go Team ZFS!!

Даже не буду переводить! На Genunix доступен build 128a – это отличная возможность попробовать дедубликацию данных на “зуб”! ШИкарно :)

PS: там еще выложили кое-что любопытное для любителей ESX/VBox/etc – OpenSolaris 2009.06 JeOS Prototype – тоже крайне полезно для ознакомления – это сущетсвенно облегченная версия OSol 2009.06, например, для развертывания Web-сервисов! Отлично!

PPS: надо завязывать писать посты по ночам – голова не соображает и получается какая-то муть вместо связного текста.

rge драйвер и Opensolaris

Помните мое нытье на предмет неработающей сети – где-то тут я писал. Судя по всему – решение найдено – читаем внимательно описание бага 6807184.

Я применил вот такое способ – сидел далеко на “удаленке” – и ошибка была непростительна ;)

 pfexec su -
 wget http://homepage2.nifty.com/mrym3/taiyodo/rge.mcast.3.tar.gz
 gzcat rge.mcast.3.tar.gz  |tar xf -
 cat << EOF > change_rge.sh
 #!/bin/bash
 ifconfig rge0 unplumb
 modunload -i `modinfo | grep Realtek | awk '{print $1}'`
 modload ./amd64/rge
 ifconfig rge0 plumb
 ifconfig rge0 192.168.1.10 netmask + broadcast + up
 route add default 192.168.1.1
 svcadm restart svc:/network/physical:default
 EOF
 bash change_rge.sh &

Радуемся :) Оно реально работает, но будьте внимательны – делая копипаст – я использую драйвер для amd64, а в другом случае, возможно, нужно написать хотя бы isainfo для начала ;)

OpenSolaris HomeNAS part 2. Настройка сети.

Теперь подразумеваем, что Opensolaris у нас установлен, терминал успешно запущен. Следующий логичный шаг – настройки! В частности, сети – бо я благополучно опускаю возможные проблемы с запуском X-сервера, например. Мы ставим сервер, поэтому у него, как и у всякой серьезного сервера, как то ни банально, должен быть IP-адрес. В моем случае – это адрес 192.168.56.254/24, роутер 192.168.56.1, DNS-сервер – 192.168.56.1. Нам нужно:

  1. отключить dhcp-клиента, который по умолчанию работает на каждом установленном в системе адаптере
  2. прописать статический адрес

Я сам использую редактор VI (вот шпаргалка по его использованию – рекомендовано к ознакомлению) – фактически, он есть на (почти?) любой unix-like системе, прост и относительно удобен. Вы же можете редактировать файлы любым удобным для себя образом.

Итак, определяемся, какие сетевые интерфейсы есть в системе, дедовским методом:

ifconfig -a

 e1000g0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
        inet 192.168.56.101 netmask ffffff00 broadcast 192.168.56.255
        ether 8:0:27:8e:75:6a

Останавливем NWAM (Network Auto-Magic), средство для автоматического конфигурирования сетевых устройств в Opensolaris:

svcadm disable network/physical:nwam

Правим файл /etc/nwam/llp, было:

e1000g0 dhcp

стало:

e1000g0 static 192.168.56.254/24

… где e1000g0 – наш сетевой интерфейс, найденный старым дедовским методом ;)
Не забываем прописать роутер по умолчанию:

echo "192.168.56.1" > /etc/defaultrouter

И наш DNS-сервер:

echo "nameserver 192.168.56.1" > /etc/resolv.conf
cp -p /etc/nsswitch.dns /etc/nsswitch.conf

Применяем наши настройки сети и проверяем результат наших манипуляций:

svcadm enable network/physical:nwam
ifconfig -a

 e1000g0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.56.254 netmask ffffff00 broadcast 192.168.56.255
        ether 8:0:27:8e:75:6a

На сладкое оставляем перезапуск – не вдаваясь в детали, даем команду reboot.

Детально на русском языке про изменение настроек NWAM/сети можно почитать здесь.

С сетью закончили.