SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

FreeBSD на RAIDZ ZFS


Метки: freebsd zfs raid gpart zpool 

Ответы

RemiZOffAlex  Создано: 2017-07-07 01:13:46.298598  Обновлено: 2017-07-07 01:13:46.298598

Краткая действующая инструкция по созданию ZFS на трех дисках и объединение в RAID-Z

К сожалению установщик не умеет работать с ZFS. А потому рассматриваем случай, когда уже имеем диск с установленной FreeBSD.

Имеем: Диск с установленной минимальной конфигурацией FreeBSD; 3 диска по 1 TB каждый, которые и необходимо объединить в массив (небольшое уточнение: общая ёмкость дисков будет всего 2 TB).

Поехали:

Этап I. Разметка

В системе диски определились как ad4, ad6 и ad7

Разбиваем каждый диск на 3 раздела: загрузочный, подкачка и основное пространство

Создаем GPT разделы на всех дисках

#!/bin/sh
# Точка монтирования будущей системы
mountpoint="/mnt"
# Имя пула
poolname="zfssystem"

drive="ad4"
gpart create -s GPT ${drive}
gpart add -b 34 -s 256 -t freebsd-boot -l boot0 ${drive}
gpart add -s 2g -t freebsd-swap -l swap0 ${drive}
gpart add -t freebsd-zfs -l disk0 ${drive}

drive="ad6"
gpart create -s GPT ${drive}
gpart add -b 34 -s 256 -t freebsd-boot -l boot1 ${drive}
gpart add -s 2g -t freebsd-swap -l swap1 ${drive}
gpart add -t freebsd-zfs -l disk1 ${drive}

drive="ad7"
gpart create -s GPT ${drive}
gpart add -b 34 -s 256 -t freebsd-boot -l boot2 ${drive}
gpart add -s 2g -t freebsd-swap -l swap2 ${drive}
gpart add -t freebsd-zfs -l disk2 ${drive}

Как Вы заметили что каждому разделу мы установили индивидуальную метку. Зачем это нужно? Это нужно для того, чтобы не потерять диски в случае к примеру физического переноса дисков на другой компьютер. Ведь при переносе у нас изменятся точки монтирования дисков. А метки останутся.

Создаем пул с именем zfssystem объединяя разделы в RAID-Z и подключаем к точке монтирования /mnt

zpool create -m ${mountpoint} ${poolname} raidz /dev/gpt/disk0 /dev/gpt/disk1 /dev/gpt/disk2
zpool set bootfs=${poolname} ${poolname}
zfs set checksum=fletcher4 ${poolname}
zfs set atime=off ${poolname}

Создаем структуру папок с указанием параметров

Возможно будут интересны и другие вопросы