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

Установка и настройка программ в Debian

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

Сообщение nezabudka » 23 май 2015, 09:56

Наконец наступили выходные и можно с головой окунутся в пену.
Для начала нам следует разделить проблемму на две составляющие.
Первое, настроить поддержку 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

180
Следует заметить что мы можем полностью перенести домашний каталог на пул
с zfs или выбрать точку монтирования пула в любом пустом каталоге.
Остановимся на втором варианте и создадим каталог в домашней директории
Код: выделить все
mkdir ~/storage #придется на время выйти из под рута

Это и будет точкой входа в наше хранилище.
Можно создавать пул на устройствах предварительно создав на них
пустую таблицу разделов, но мы будем работать с сырыми дисками и значит
с опцией -f. Создаем пул устройств по идентификатору by-id.
Код: выделить все
zpool create -f mypool raidz virtio-12345678901 virtio-12345678902 \
virtio-12345678903 virtio-12345678904

В нашем случае можно использовать также уровень raidz2. Проверим созданное
Код: выделить все
df
zpool status

181
Объем нашего пула выведет команда
Код: выделить все
zpool list

182
Всегда можно удалить навороченное и начать все заново
Код: выделить все
zpool destroy mypool

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

Не понравилось, за борт
Код: выделить все
zfs destroy mypool/myfs

Свойства созданной фс можно просмотреть командой
Код: выделить все
zfs get all mypool/myfs

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

Было и стало
184
Последнее что предстоит нам сделать это указать точку монтирования нашей
файловой системы и изменить права владения
Код: выделить все
chown nez:nez /mypool/myfs
zfs set mountpoint=/home/nez/storage mypool/myfs

Из вывода команды mount в двух последних строчках виден результат.
185
В итоге в нашем распоряжении весь набор инструментов 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
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 2 месяца 28 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

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

Спонсор

Спонсор
 

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

Сообщение Sunderland93 » 23 май 2015, 13:10

Многафбукав. Если весь этот геморрой, что бы только поставить ZFS - ну её нахрен.
Sunderland93
 
Стаж: 48 лет 6 месяцев 15 дней

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

Сообщение Sunderland93 » 23 май 2015, 13:11

Да и рейд на домашней машине не очень то и нужен. В NAS да.
Sunderland93
 
Стаж: 48 лет 6 месяцев 15 дней

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

Сообщение Шпак Дмитрий » 23 май 2015, 13:12

Sunderland93 писал(а):

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

где тут геморрой, пара команд и времени 10 минут :)
Шпак Дмитрий
Местный говорун
Местный говорун
 
Сообщений: 589
Стаж: 3 года 5 месяцев 27 дней
Откуда: Russian_federation, какой то
Благодарил (а): 20 раз.
Поблагодарили: 145 раз.

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

Сообщение Sunderland93 » 23 май 2015, 14:04

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

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

Сообщение Sunderland93 » 23 май 2015, 14:32

Кстати, будет повод фрю поставить с zfs. Тоже потыкать палочкой))
Sunderland93
 
Стаж: 48 лет 6 месяцев 15 дней

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

Сообщение Sunderland93 » 24 май 2015, 11:09

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

P.S. забывайте вы уже про apt-get. Весь функционал этих внешних утилит давно в самом apt.
Sunderland93
 
Стаж: 48 лет 6 месяцев 15 дней

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

Сообщение nezabudka » 24 май 2015, 11:33

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
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 2 месяца 28 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

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

Сообщение Sunderland93 » 24 май 2015, 12:22

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
Sunderland93
 
Стаж: 48 лет 6 месяцев 15 дней

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

Сообщение nezabudka » 24 май 2015, 12:46

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
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 2 месяца 28 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

След.

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

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron