freebsd разметка диска gpart

Дата | 02.08.2015

freebsd разметка диска gpart
Создаем в freebsd разметка диска gpart для дисков.
Внесу свои пять копеек в разметку, разбивку диска в системе FreeBSD.
В MBR используется 32 битная адресация, если при размере сектора в 512 байт, мы наблюдаем лимит в 2 ТБайта.
Вообще, если диски больше 2Тбайт, то нужно размечать в gpt.
Мы будим размечать диск ada2 и ada0.
Посмотрим всю разметку дисков.

# gpart show
=>       34  468862061  ada0  GPT  (224G)
         34       1024     1  freebsd-boot  (512K)
       1058  461372416     2  freebsd-ufs  (220G)
  461373474    7488620     3  freebsd-swap  (3.6G)
  468862094          1        - free -  (512B)

=>       34  468862061  ada1  GPT  (224G)
         34  468462061     1  freebsd-ufs  (223G)
  468462095     400000        - free -  (195M)

=>        34  3907029101  ada2  GPT  (3.8T)
          34  3907029101     1  freebsd-ufs  (3.8T)

Начнем.
Удалим разметку на диске ada2 .
Ключ F удалит все разделы на выбранном нами диске.

# gpart destroy -F ada2

Теперь создадим новую разметку.

# gpart create -s gpt ada2

Смотрим нынешнею разметку.

# gpart show ada2
=>        34  75260539204  ada2  GPT  (3.8T)
          34  75260539204     1  - free -  (3.8T)

Размечаем весь диск под один раздел.

# gpart add -b 34 -s 7510539204 -t freebsd-ufs ada2

Если мы ошибочно создали диск (портацию), то можно ее быстренько удалить.

# gpart delete -i 2 ada2

Вот и все.
А теперь расскажу, как подготовить диск к установки на нее систему FreeBSD.
Мы будим ставить систему на такую структуру.

/boot
/swap
/

Заморачиваться не стал, выводить var , usr, log на отдельные портации. на мой взгляд не к чему это.
Приступим.
Удаляем всю разметку.

# gpart destroy -F ada0

Создаем.

# gpart create -s gpt ada0

Теперь создам портацию загрузки системы.

# gpart add -b 34 -s 1024 -t freebsd-boot ada0

Скажем системе, что этот диск загрузочный.

# gpart bootcode -b /boot/pmbr ada0

Осталось добавить загрузочный функционал (код) в сектор загрузки.

# gpart bootcode -p /boot/gptboot -i 1 ada0

На очереди раздел своп, файл подкачки.

# gpart add -b 461373474 -s 7488620 -t freebsd-swap ada0

На последок размечаю все остальное место под корень. Но не забываем, что примерно 1-5% от объема диска лучше оставить не размеченной областью, что бы диск дольше работал.

# gpart add -b 1058 -s 461372416 -t freebsd-ufs ada0

Если мы хотим более подробный отчет о дисках и проделанной нами работы, то:

# gpart list ada2

После, не забываем добавить к нашим портациям файловую систему.
Ключ U означает включение SoftUpdate, без ключа U диск будет работать в async режиме.

# newfs -O2 -U /dev/ada2p1
# newfs -O2 /dev/ada0p2

На ssd дисках лучше файловую систему ставить без SoftUpdate!
То-есть как показано в примере (# newfs -O2 /dev/ada0p2).
Про оптимизацию файловой системы ufs2 под ssd — это уже другая статья.

Полезно разбивать ssd так, со с 4k смещением.

gpart create -s gpt ada1
gpart add -t freebsd ada1
gpart create -s BSD ada1s1
gpart add -b 1 -t freebsd-ufs ada1s1
newfs -f 4096 /dev/ada1s1a

Либо так

gpart add -a 4k -b 4096k -s 410g -t freebsd-ufs nvd1

Вот что получилось.

=>       40  879097888  nvd1  GPT  (419G)
         40       8152        - free -  (4.0M)
       8192  859832320     1  freebsd-ufs  (410G)
  859840512   19257416        - free -  (9.2G)

Проверяем так выравнивание, должен получится ноль.

$ echo 859840512 % 4096 | bc
0

Вот и все, закончили создавать в системе freebsd разметка диска gpart.

Категории: web Метки:

4 thoughts on “freebsd разметка диска gpart

  1. Виктор Антонович

    Объясните, пожалуйста, значение слова «портация», использованного Вами в статье

    1. root

      Я обычно имею ввиду портацию другой диск.
      А что вас смещает в этом случае?

      1. Alexander

        из вики: Раздел (англ. partition) — часть долговременной памяти накопителя данных (жёсткого диска, SSD, USB-накопителя), логически выделенная для удобства работы, и состоящая из смежных блоков.
        т.е партиция будет правильнее

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *