Advertisement
Guest User

Installing Gentoo on a SSD with 3x RAID HDDs

a guest
Oct 9th, 2013
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.94 KB | None | 0 0
  1. #Installing gentoo on an SSD and 3xHDD RAID
  2. # from http://www.gentoo.org/doc/en/gentoo-x86+raid+lvm2-quickinstall.xml
  3. # and http://apcmag.com/how-to-maximise-ssd-performance-with-linux.htm
  4. # and a little https://wiki.gentoo.org/wiki/SSD and
  5. # https://wiki.archlinux.org/index.php/Solid_State_Drives
  6.  
  7. ###install instructions###
  8.  
  9. # sda = SDD
  10. # sd[bcd] = hdds
  11.  
  12. ifconfig eth0 192.168.0.2/24
  13. route add default gw 192.168.0.1
  14. echo nameserver 8.8.4.4 > /etc/resolv.conf
  15.  
  16. modprobe raid5
  17. modprobe dm-mod
  18.  
  19.  
  20. ###fdisk SSD
  21.  
  22.  
  23. fdisk -S 32 -H 32 /dev/sda
  24.  
  25. #Set up the first partition to start on the second 512-cylinder unit:
  26. # Device Boot Start End Blocks Id System
  27. # /dev/sda1 * 2 129 65536 83 Linux
  28. # /dev/sda2 130 31457279 15662080 83 Linux
  29.  
  30. # part 1
  31. # start: 2
  32. # end + 64MB
  33. # part 2
  34. # start: <enter>
  35. # end: <enter>
  36.  
  37.  
  38.  
  39. ### fdisk HDDs
  40.  
  41. fdisk /dev/sdb
  42.  
  43. # 64MB boot backup linux raid
  44. # 6GB swap swap
  45. # 256GB mirror of /
  46. # therest linux raid
  47.  
  48. sfdisk -d /dev/sdb > partition.txt
  49. sfdisk /dev/sdc < partition.txt
  50. sfdisk /dev/sdd < partition.txt
  51.  
  52.  
  53.  
  54. ### make raids
  55.  
  56. mknod /dev/md1 b 9 1
  57. mknod /dev/md3 b 9 3
  58. mknod /dev/md4 b 9 4
  59.  
  60.  
  61. mdadm --create /dev/md1 --level=1 --raid-devices=3 --metadata=0.90 /dev/sdc1 /dev/sdb1 /dev/sdd1
  62. mdadm --create /dev/md3 --level=1 --raid-devices=3 --metadata=0.90 /dev/sdc3 /dev/sdb3 /dev/sdd3
  63. mdadm --create /dev/md4 --level=5 --raid-devices=3 /dev/sdc4 /dev/sdb4 /dev/sdd4
  64.  
  65.  
  66. cat /proc/mdstat
  67.  
  68. ### make vg/lvs
  69.  
  70. vgscan
  71. vgchange -a y
  72.  
  73. pvcreate /dev/md4
  74. vgcreate vg /dev/md4
  75. lvcreate -L5G -nportage vg
  76. lvcreate -L10G -ndistfiles vg
  77. lvcreate -L5G -nvar vg
  78. lvcreate -L500G -nhome vg # plenty for now
  79. lvcreate -L500G -nbulk vg # bulk large file storage
  80. lvcreate -L100G -ncmsrc vg # android source tree
  81.  
  82. vgs
  83. lvs
  84.  
  85.  
  86. ###mkfs for SDD
  87.  
  88. mkfs -t ext4 -b 4096 /dev/sda1
  89. mkfs -t ext4 -b 4096 /dev/sda2
  90.  
  91. ##mkfs for RAID
  92.  
  93. mkfs -t ext4 -b 4096 /dev/md1
  94. mkfs -t ext4 -b 4096 /dev/md2
  95.  
  96. ##mkfs for LVM
  97.  
  98. mkfs -t ext4 -b 4096 -T largefile /dev/vg/distfiles
  99. mkfs -t ext4 /dev/vg/home
  100. mke2fs -j /dev/vg/var
  101. mkfs -t ext4 -b 4096 -T largefile /dev/vg/bulk
  102. mke2fs -b 1024 -N 200000 /dev/vg/portage
  103. mke2fs -b 1024 -N 200000 /dev/vg/cmsrc
  104.  
  105. ### swap on HDDs for hibernating; may use swapfile on SSD later
  106.  
  107. mkswap /dev/sdb2 && mkswap /dev/sdc2 && mkswap /dev/sdd2
  108. swapon -p 1 /dev/sdb2 && swapon -p 1 /dev/sdc2 && swapon -p 1 /dev/sdd2
  109.  
  110.  
  111.  
  112. ### enmounten der driven:
  113.  
  114. mount /dev/sda2 /mnt/gentoo
  115. mkdir boot home usr opt var tmp
  116. mount /dev/sda1 /mnt/gentoo/boot
  117. mount /dev/vg/home /mnt/gentoo/home
  118. mount /dev/vg/var /mnt/gentoo/var
  119. mkdir usr/portage var/tmp
  120. mount -t tmpfs size=2gb tmpfs /mnt/gentoo/tmp
  121. mount -t tmpfs size=6gb tmpfs /mnt/gentoo/var/tmp
  122. mount /dev/vg/portage /mnt/gentoo/usr/portage
  123. mkdir usr/portage/distfiles
  124. mount /dev/vg/distfiles /mnt/gentoo/usr/portage/distfiles
  125.  
  126. chmod 1777 /mnt/gentoo/tmp /mnt/gentoo/var/tmp
  127.  
  128.  
  129.  
  130. # set the clock
  131. date
  132. date 030600162006 ##(Format is MMDDhhmmYYYY)
  133.  
  134.  
  135. #get & unpack stage tb
  136.  
  137. links http://www.gentoo.org/main/en/mirrors.xml
  138. tar xjpf stage3*
  139.  
  140. #chroot
  141. cd /
  142. mount -t proc proc /mnt/gentoo/proc
  143. mount --rbind /dev /mnt/gentoo/dev
  144. mount --rbind /sys /mnt/gentoo/sys
  145. cp -L /etc/resolv.conf /mnt/gentoo/etc/
  146. chroot /mnt/gentoo /bin/bash
  147. source /etc/profile
  148.  
  149.  
  150. # sync portage
  151. mkdir /usr/portage
  152. emerge-webrsync
  153.  
  154. # set TZ
  155. ls /usr/share/zoneinfo
  156. cp /usr/share/zoneinfo/MST7MDT /etc/localtime
  157. echo "MST7MDT" > /etc/timezone
  158. date
  159.  
  160.  
  161.  
  162. eselect profile list
  163. eselect profile set 2
  164.  
  165. cd /etc
  166. echo "127.0.0.1 bobboMK2.widgetron.lan bobboMK2 localhost" > hosts
  167. sed -i -e 's/hostname.*/hostname="bobboMK2"/' conf.d/hostname
  168. hostname bobboMK2
  169. hostname -f
  170.  
  171.  
  172.  
  173. ##kernel
  174.  
  175. emerge gentoo-sources
  176. cd /usr/src/linux
  177. cp /mnt/usb/kernelconfigbackup .config
  178. make oldconfig
  179. make menuconfig
  180. # chose bcache
  181. # i o scheduler deadline
  182.  
  183. make -j6 && make modules_install
  184. cp arch/x86/boot/bzImage /boot/bzImage
  185.  
  186.  
  187. nano /etc/fstab
  188. ######################
  189. /dev/sda1 /boot ext4 noauto,noatime,nodirtime,discard 1 2
  190. /dev/sda2 / ext4 noatime,nodirtime,discard 0 1
  191. /dev/sdb2 none swap sw,pri=1 0 0
  192. /dev/sdc2 none swap sw,pri=1 0 0
  193. /dev/sdd2 none swap sw,pri=1 0 0
  194. /dev/vg/portage /usr/portage ext4 noatime 1 2
  195. /dev/vg/distfiles /usr/portage/distfiles ext4 noatime 1 2
  196. /dev/vg/home /home ext4 noatime 1 2
  197. tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
  198. /dev/vg/var /var ext4 noatime 1 2
  199. tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
  200.  
  201. /dev/cdrom /mnt/cdrom auto noauto,ro 0 0
  202.  
  203. shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
  204.  
  205. /dev/md1 /mnt/bootbak ext4 noauto,noatime 0 0
  206. /dev/md3 /mnt/rootbak ext4 noauto,noatime 0 0
  207.  
  208. /dev/disk/by-uuid/0065-7617 /mnt/card auto rw,user 0 0
  209. /dev/disk/by-uuid/30a53b49-9880-4feb-b2c5-e989d1236d8e /mnt/backup auto rw,user,noauto 0 0
  210. ######################
  211.  
  212. #configure net; add net.enp2s0 (?) to default runlevel
  213.  
  214. nano /etc/conf.d/net
  215. nano /etc/conf.d/hostname
  216.  
  217. rc-update add net.enp2s0 default
  218.  
  219. rc-update add sshd default
  220.  
  221. passwd
  222.  
  223. nano /etc/conf.d/hwclock
  224. nano -w /etc/rc.conf
  225. nano -w /etc/conf.d/keymaps
  226.  
  227. emerge mdadm lvm2
  228. rc-update add mdraid boot
  229. rc-update add lvm boot
  230.  
  231.  
  232. emerge syslog-ng vixie-cron
  233. rc-update add syslog-ng default
  234. rc-update add vixie-cron default
  235.  
  236. emerge grub
  237. nano -w /boot/grub/grub.conf
  238. #(copy off old grub.conf)
  239.  
  240.  
  241. # I want to install grub on the HDDs as well as the SSD in case the SSD fails
  242. grub
  243. grub> root (hd0,0)
  244. grub> setup (hd0)
  245.  
  246. grub> root (hd1,0)
  247. grub> setup (hd1)
  248.  
  249. grub> root (hd2,0)
  250. grub> setup (hd2)
  251.  
  252. grub> root (hd3,0)
  253. grub> setup (hd3)
  254.  
  255. grub> quit
  256.  
  257. ########## unchroot
  258. exit
  259. umount -l /mnt/gentoo/usr{/portage/distfiles,/portage,}
  260. umount -l /mnt/gentoo/dev{/pts,/shm,}
  261. umount -l /mnt/gentoo{/usr,/var/tmp,/tmp,/var,/opt,/dev,/proc,/home,/boot,}
  262. reboot
  263.  
  264.  
  265.  
  266. ###### FIRST BOOT
  267.  
  268.  
  269. useradd <me>
  270.  
  271. nano ~/.ssh/known_hosts on other boxen && ssh back in
  272.  
  273. cp /mnt/backup/etcbak/make.conf /etc/make.conf # edit out old cruft
  274.  
  275. nano /etc/locale.gen
  276. locale-gen
  277.  
  278. copy old world to /var/lib/world
  279.  
  280. assorted post-install stuff at http://www.gentoo.org/doc/en/gentoo-x86+raid+lvm2-quickinstall.xml#doc_chap2 2.43
  281.  
  282. create cron job to rsync / and /boot to /mnt/rootbak and /mnt/bootbak (copy existing /home backup script)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement