Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

Создание пула zfs raidz в qemu-kvm

Установка и настройка программ в Debian
Аватара пользователя
nezabudka
Местный говорун
Местный говорун
Сообщения: 618
Зарегистрирован: 18 апр 2015, 06:13
Откуда: Ростов на Дону

Создание пула zfs raidz в qemu-kvm

Сообщение nezabudka »

Наконец наступили выходные и можно с головой окунутся в пену.
Для начала нам следует разделить проблемму на две составляющие.
Первое, настроить поддержку zfs в гостевой системе, настроить
массив допустим для хранилища. И второе, установить
через debootstrap или пренести корень системы на zfs с помощью
rsync. Для "пощупать" эту фс достаточно и первой части,Все таки
работу с zfs нужно начинать с пула хранения, а там видно будет.
Как вы помните я пользуюсь виртуальной машиной без посредников,
запуская как есть и прописывая все параметры в строке запуска.
libvirt пусть подождет меня пока я вырасту.
Начнем с настройки запуска виртуалки с необходимым массивом устройств.
Я создала новую папку для этого проэкта под названием zfs и все действия
будут разворачиваться именно в ней. Первым делом я создала две мягкие
ссылки debian.iso и disk0.qcow2, первую на официальный образ диска, вторую
на на уже готовый образ гостевой ос с ext4 на борту дебиан джесси имеющие
официальную прописку в других директориях.
Нам понадобится для пула raidz четыре дополнительных устройства, создадим их

Код: Выделить всё

for (( i=1; i<5; i=i+1 )); do
qemu-img create -f qcow2 disk${i}.qcow2 2G; done
Посмотрим что получилось

Код: Выделить всё

ls
debian.iso
disk0.qcow2
disk1.qcow2
disk2.qcow2
disk3.qcow2
disk4.qcow2
После нескольких экспериментов строчка запуска всего этого хозяйства
в виртуальной машине приняла следующий вид

Код: Выделить всё

kvm -drive if=virtio,media=disk,id=disk0,file=disk0.qcow2,serial=12345678900 \
-drive if=virtio,media=disk,id=disk1,file=disk1.qcow2,serial=12345678901 \
-drive if=virtio,media=disk,id=disk2,file=disk2.qcow2,serial=12345678902 \
-drive if=virtio,media=disk,id=disk3,file=disk3.qcow2,serial=12345678903 \
-drive if=virtio,media=disk,id=disk4,file=disk4.qcow2,serial=12345678904 \
-cdrom debian.iso -boot c -m 512
Запустим машину и посмотрим на наши устройства поближе

Код: Выделить всё

ls /dev/disk/by-id/ #список сокращен
virtio-12345678901
virtio-12345678902
virtio-12345678903
virtio-12345678904
Как выяснилось, установка поддержки zfs в дебиан вообще плевое дело
заключающееся в следующем блоке команд

Код: Выделить всё

su -
wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_6_all.deb
dpkg -i zfsonlinux_6_all.deb   #пакет добавляющий в систему необходимые репы
apt-get update
apt-get install linux-image-amd64 debian-zfs
проверим подгрузился ли модуль на автомате

Код: Выделить всё

lsmod | grep zfs
[album]180[/album]
Следует заметить что мы можем полностью перенести домашний каталог на пул
с zfs или выбрать точку монтирования пула в любом пустом каталоге.
Остановимся на втором варианте и создадим каталог в домашней директории

Код: Выделить всё

mkdir ~/storage #придется на время выйти из под рута
Это и будет точкой входа в наше хранилище.
Можно создавать пул на устройствах предварительно создав на них
пустую таблицу разделов, но мы будем работать с сырыми дисками и значит
с опцией -f. Создаем пул устройств по идентификатору by-id.

Код: Выделить всё

zpool create -f mypool raidz virtio-12345678901 virtio-12345678902 \
virtio-12345678903 virtio-12345678904
В нашем случае можно использовать также уровень raidz2. Проверим созданное

Код: Выделить всё

df
zpool status
[album]181[/album]
Объем нашего пула выведет команда

Код: Выделить всё

zpool list
[album]182[/album]
Всегда можно удалить навороченное и начать все заново

Код: Выделить всё

zpool destroy mypool
Замечание, при создании пула создаются разделы на дисках
и поэтому при повторном создании необходимо удалить их утилитой fdisk.
а так же желательно удалить пустую таблицу разделов командой
zpool labelclear и даже необходимо если вы решите использовать gpt.
Пул создан но это всего лиш контейнер и нам нужно еще создать в нем файловую систему.

Код: Выделить всё

zfs create mypool/myfs
Не понравилось, за борт

Код: Выделить всё

zfs destroy mypool/myfs
Свойства созданной фс можно просмотреть командой

Код: Выделить всё

zfs get all mypool/myfs
[album]183[/album]
И теперь мы сможем создавать сколько угодно фс, любой вложенности
и даже с индивидуальными для каждой свойствами, set "параметр"="значение"
нам всем в помощь. Например все рекомендуют отключать опцию atime, сделаем это

Код: Выделить всё

zfs set atime=off mypool/myfs
Было и стало
[album]184[/album]
Последнее что предстоит нам сделать это указать точку монтирования нашей
файловой системы и изменить права владения

Код: Выделить всё

chown nez:nez /mypool/myfs
zfs set mountpoint=/home/nez/storage mypool/myfs
Из вывода команды mount в двух последних строчках виден результат.
[album]185[/album]
В итоге в нашем распоряжении весь набор инструментов zfs. Применяй и
властвуй. Как оказалось zfs в управлении не сколько не сложнее btrfs.
У меня сейчас прекрасно ужились обе. btrfs на целевом хосте и zfs
на виртуальной машине. Осталось перетащить на нее корень, догоняйте.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

Многафбукав. Если весь этот геморрой, что бы только поставить ZFS - ну её нахрен.
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

Да и рейд на домашней машине не очень то и нужен. В NAS да.
Шпак Дмитрий
Местный говорун
Местный говорун
Сообщения: 579
Зарегистрирован: 19 янв 2015, 15:56
Откуда: Russian_federation, какой то

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Шпак Дмитрий »

Sunderland93 писал(а):Многафбукав. Если весь этот геморрой, что бы только поставить ZFS - ну её нахрен.
где тут геморрой, пара команд и времени 10 минут :)
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

Щас с огородом управлюсь, тоже эту вашу zfs палочкой потыкаю. Только на реальном железе. Нафиг виртуалки.
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

Кстати, будет повод фрю поставить с zfs. Тоже потыкать палочкой))
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

Кстати, а зачем
apt-get install linux-image-amd64
?

P.S. забывайте вы уже про apt-get. Весь функционал этих внешних утилит давно в самом apt.
Аватара пользователя
nezabudka
Местный говорун
Местный говорун
Сообщения: 618
Зарегистрирован: 18 апр 2015, 06:13
Откуда: Ростов на Дону

Re: Создание пула zfs raidz в qemu-kvm

Сообщение nezabudka »

Sunderland93 писал(а):Кстати, а зачем
apt-get install linux-image-amd64
?

P.S. забывайте вы уже про apt-get. Весь функционал этих внешних утилит давно в самом apt.
Этот пакет предусматривает установку самого нового ядра из репы. Я устанавливаю систему из образа диска
и он может быть не всегда актуален, а полностью обновлять систему на виртуалке при мобильном интернете не хочется
А че там с apt-get не так. Дай ссылку
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Sunderland93

Re: Создание пула zfs raidz в qemu-kvm

Сообщение Sunderland93 »

nezabudka писал(а):
Sunderland93 писал(а):Кстати, а зачем
apt-get install linux-image-amd64
?

P.S. забывайте вы уже про apt-get. Весь функционал этих внешних утилит давно в самом apt.
Этот пакет предусматривает установку самого нового ядра из репы. Я устанавливаю систему из образа диска
и он может быть не всегда актуален, а полностью обновлять систему на виртуалке при мобильном интернете не хочется
А че там с apt-get не так. Дай ссылку
Самое новое ядро в Дэбе сейчас в сиде - 4. А так везде 3.16. Что не так с apt-get - он устарел. Весь функционал отдельных утилит теперь в самом APT. http://www.opennet.ru/opennews/art.shtml?num=39482
Аватара пользователя
nezabudka
Местный говорун
Местный говорун
Сообщения: 618
Зарегистрирован: 18 апр 2015, 06:13
Откуда: Ростов на Дону

Re: Создание пула zfs raidz в qemu-kvm

Сообщение nezabudka »

Sunderland93. Вообще то мне было не удобно постоянно выбирать между apt-get apt-cache. Это хорошая новость.
Приду домой попробую
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Ответить

Вернуться в «Установка программ»