Интересное

Сообщение об ошибке

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in drupal_environment_initialize() (line 684 of /home/www/nixtalk.com/includes/bootstrap.inc).

Развертывание ZFS

Опубликовано пн, 12/02/2013 - 18:02 пользователем Demontager

Чтобы не набирать руками кучу команд, собрал в один скрипт. Использовал его для создания ZFS на сервере с одним диском, поэтому если нужно создать RAID зеркало, то придется добавить дублирующие строки для второго диска
После успешной установки получаете FreeBSD-9.2 на ZFS

Особенности
1. Только для одного диска
2. Позволяет развернуть ZFS с любого загрузочного recovery FreeBSD
3. Опционально можно прописать все настройки ZFS и другие в loader.conf и rc.conf

  1. #!/bin/sh
  2. #author: demontager http://nixtalk.com
  3. #Create slices
  4. gpart destroy -F ada0
  5. gpart create -s gpt ada0
  6. gpart add -t freebsd-boot -l gpboot -b 40 -s 512K ada0
  7. gpart add -b 2048 -s 4G -t freebsd-swap -l swap0 ada0
  8. gpart add -t freebsd-zfs -l disk0 ada0
  9. gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
  10.  
  11. #Create ZFS
  12. zpool create -o cachefile=/boot/zfs/zpool.cache -m none -f rpool /dev/gpt/disk0
  13. zfs set checksum=fletcher4 rpool
  14. zfs create rpool/root
  15. mkdir /tmp/mntzfs
  16. zfs set mountpoint=/tmp/mntzfs rpool/root
  17. zfs create -o canmount=off rpool/root/usr
  18. zfs create -o canmount=off rpool/root/var
  19. zfs create -o compression=on -o exec=on -o setuid=off rpool/root/tmp
  20. zfs create -o compression=gzip -o setuid=off rpool/root/usr/ports
  21. zfs create -o compression=off -o exec=off -o setuid=off rpool/root/usr/ports/distfiles
  22. zfs create -o compression=off -o exec=off -o setuid=off rpool/root/usr/ports/packages
  23. zfs create -o compression=gzip -o exec=off -o setuid=off rpool/root/usr/src
  24. zfs create -o compression=lzjb rpool/root/usr/obj
  25. zfs create -o compression=lzjb -o exec=off -o setuid=off rpool/root/var/crash
  26. zfs create -o compression=off -o exec=off -o setuid=off rpool/root/var/empty
  27. zfs create -o compression=lzjb -o exec=on -o setuid=off rpool/root/var/tmp
  28. zpool export rpool
  29. zpool import -o cachefile=/tmp/zpool.cache rpool
  30. chmod 1777 /tmp/mntzfs/tmp
  31. chmod 1777 /tmp/mntzfs/var/tmp
  32.  
  33. #Fetch files
  34. cd /tmp/mntzfs
  35. mkdir fileinstall
  36. cd fileinstall
  37. fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/9.2-RELEASE/base.txz
  38. fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/9.2-RELEASE/kernel.txz
  39. cat base.txz | tar --unlink -xpJf - -C /tmp/mntzfs
  40. cat kernel.txz | tar --unlink -xpJf - -C /tmp/mntzfs
  41. cp /tmp/zpool.cache /tmp/mntzfs/boot/zfs/zpool.cache
  42.  
  43. #Add configs
  44. echo 'zfs_enable="YES"' >> /tmp/mntzfs/etc/rc.conf
  45. echo 'zfs_load="YES"' >> /tmp/mntzfs/boot/loader.conf
  46. echo 'if_em_load="YES"' >> /tmp/mntzfs/boot/loader.conf
  47. echo 'vfs.root.mountfrom="zfs:rpool/root"' >> /tmp/mntzfs/boot/loader.conf
  48. echo 'sshd_enable="YES"' >> /tmp/mntzfs/etc/rc.conf
  49. echo 'ifconfig_em0="inet 198.XXX.XXX.XX netmask 255.255.255.0 broadcast 198.100.XXX.XX"' >> /tmp/mntzfs/etc/rc.conf
  50. echo 'defaultrouter="198.XXX.XXX.XXX"' >> /tmp/mntzfs/etc/rc.conf
  51. echo 'hostname="ks600452.ip-198-XXX-XX.net"' >> /tmp/mntzfs/etc/rc.conf

Просмотр zfs пула

  1. zfs list

Статус пула

  1. zpool status

Изменить размер swap

  1. zfs set volsize=nG rpool/swap
Поделится: 

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