首先要说的就是本文是基于 vmware6 ,使用的是 gentoo2008 mini 安装盘,然后网络环境是 DHCP 模式(比较方便 :) 硬盘选择的是 2 个 40G 的 scsi (反正是虚拟的,做试验方便),然后这个安装笔记主要是描述 raid0,1+lvm2 的 gentoo 安装,主要参考了 gentoo doc 上的安装笔记,大家都应该上 gentoo.org 好好看看 doc 。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
开始把:
1. 把启动盘放入光驱后,服务器由光驱启动,弹出 boot 提示符,回车,注意,如果你的服务器硬件,或你想使用你特殊的安装方式,请参考 gentoo doc 。一堆启动信息加载起来。。。好了,总算出现了 # 提示符,首先要确定的是你的网络,我的网络环境是 DHCP ,那么查看 ifconfig, 发现已经自动获取了 IP 地址,恩,网络 OK 。
2. 因为我要使用 raid0 , 1 和 lvm2, 所以要自己手动加载相应的模块: modprobe raid0;modprobe raid1;modprobe dm-mod
3. 话说回来,你如果不想在服务器上接显示器或着想让别人 SSH 安装的话,可以打开 sshd 服务,我个人倾向于此,输入命令: /etc/init.d/sshd start 然后嘛,别人登陆你的 ssh 一定要有个 root 的权限,虽然 gentoo doc 说你必须有充分的信任。。给 root 加个密码吧: passwd 按提示输入密码, OK ,打开 putty (我个人喜欢的一个 windows 下 ssh 小工具)输入 IP ,连接,好,输入用户名 root ,以及你更改的密码,好了,恭喜你,你可以远程的安装 gentoo 了。
4. 接下来是硬盘的分区问题,建议大家先在纸上理清分区的思路,要不然错误的分区导致的问题还真是麻烦。。。我前面说过采用 raid0,raid1,lvm2 所以我大致按照 gentoo doc 上的,稍微改了点。来,我们先理清个个分区的思路: 2 块 scsi 硬盘在 linux 里识别为 /dev/sda,/dev/sdb, 我们使用 raid 的话,务必要确保 2 块硬盘上的分区是完全一致的。这是首要条件,我们大致的分区就是, 128M 的 /boot,512M 的 swap (我虚拟机内存设置的是 256M ,遵循 2 倍原理), 3G 的 / ,其他的也全部分为一个区,但不给他任何挂载,因为我们要用剩下的实现 lvm,2 块硬盘都要采用这样的分区,具体的操作后面会写上。 /boot 将使用 raid1,swap 也将使用 radi1( 我这里稍微和 gentoo doc 上的有点冲突,就是 swap 也采用 raid1),/ 还是使用 raid1, 全镜像 J , 唯独那个没挂载的分区采用 raid0 皮带,基本的思路出来了,我们实做吧。
5. 分区当然用 fdisk 啦, win 下也有这个,不过不是一个工具啦,只是作用相同而已。。看我输入的命令: fdisk /dev/sda 这是给 sda 分区,具体的 fdisk 使用吧,可以参考 gentoo doc ,也可以自己 google ,输入: n 新建一个分区 , 在输入: p 新建一个主分区 , 在输入: 1 ,因为主分区只能有 4 个,所以按顺序来不就这样。然后就是分区的起始柱面,回车就是。接着问你到哪个柱面截止呢?你可以这样直接输入: +128M 回车,好了, /boot 分区达成。如果你想查看一下自己搞了几个分区出来,在提示下输入: p 回车就会显示的,不废话了,按我上面的思路, swap 分区:依次 n->p->2-> 直接回车 ->+512M , / 分区 :n->p->3-> 直接回车 ->+3000M, 最后一个 lvm 用的分区 :n->p-> 这里没得你选了,直接回车吧 -> 还是回车,因为要把剩下的空间全部分给 sda4 了然后按 p 看看,是不是有了 sda1,sda2,sda3,sda4 这 4 个分区了,别急着保存,还有分区格式没变呢。。按 t ,这是对分区的格式选择的命令,然后选择数字, 1,2,3,4 就是那 4 个分区啦,一个一个来,先选 1 ,然后他会提示要你输入分区类型,输入 fd 吧 ,fd 就是 raid 类型分区,其他 3 个分区也这样,全部改为 fd 格式,最后 p 看看有没有问题,没问题就 w 保存退出吧,接着按这方法把 sdb 也这样分区,两个硬盘的分区就完成了。。
6. 恩,如果你没头晕的话,我们来搭载 raid0,raid1 和 lvm2 吧。首先创建 raid 设备的节点: mknod /dev/md1 b 9 1 这个命令搞不懂的话,可以先别想,你只要知道这是创建了 md1 这个设备,接下来 :mknod /dev/md2 b 9 2;mknod /dev/md3 b 9 3;mknod /dev/md4 b 9 4 。一共 4 个 md raid 节点建完毕。来创建设备吧,这个命令长些,其实有 - 的写法。。但考虑加深记忆还是用 -- 写法吧: mdadm –create /dev/md1 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb2 ,这就创建了 /dev/md1 的完整 raid1 的设备了。接下来雷同: mdadm –create /dev/md2 –level=1 –raid-devices=2 /dev/sda2 /dev/sdb2;mdadm –create /dev/md3 –level=1 –raid-devices=2 /dev/sda3 /dev/sdb3; 接下来的 md4 设备要注意啦因为是使用 raid0 所以有所不同: mdadm –create /dev/md4 –level=0 –raid-devices=2 /dev/sda4 /dev/sdb4, 然后最好稍等一下,,,因为创建设备需要一下下功夫,我们可以用: cat /proc/mdstat 来看下创建情况,如果没啥问题,一下下就可以了。
7. 先不急给分区格式化,我们要先解决了 lvm 在说, lvm 是什么,不多说,你想想 win 下的动态磁盘就明白了。。任然是规划好 lvm 各个目录的分法,否则又会头晕 J ,参考下面的表分,我真是偷懒,直接复制了 doc 上的分法。。不要介意。。
/usr <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8" unitname="g">8G</chmetcnv> ext3
/home <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="10" unitname="g">10G</chmetcnv> ext3
/opt <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="g">4G</chmetcnv> ext3
/var <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="g">4G</chmetcnv> ext3
/tmp <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="g">2G</chmetcnv> ext2
/usr/portage <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="g">2G</chmetcnv> ext2 小块,多节点
/usr/portage/distfiles <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="g">4G</chmetcnv> ext2 大块,少节点
/var/tmp <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="g">6G</chmetcnv> ext2
好了,开始,大家注意看命令 : 创建 lvm 分区之前要先这样 :vgscan;vgchange –a y 防止出现意外检查。。开始正式创建: pvcreate /dev/md4;vgcreate vg /dev/md4; 这样就创建了 vg 这个逻辑卷组,接下来创建具体的逻辑卷: lvcreate –L8G –nusr vg;lvcreate –L10G –nhome vg;lvcreate –L4G –nopt vg;lvcreate –L4G –nvar vg;lvcreate –L2G –ntmp vg;lvcreate –L2G-nportage vg;lvcreate –L4G –ndistfiles vg;lvcreate –L6G –nvartmp vg; 至此着 8 个 lvm 创建完成,你可以使用 vgs 查看卷组, lvs 查看以分配的逻辑卷。
8. 最后这步就是格式化了。。。期待已久吧。。别忘了这只是分区。。。还没开始安装系统 = = 。
任然注意看命令,要注意的就是分区格式: mke2fs /dev/md1 这是把 /boot 给格成了 ext2 , mke2fs –j /dev/md3 这是把 / 给格成了 ext3 , mkswap /dev/md2 这是把 md2 格成了 swap 交换分区,要记得启用 swap:swapon /dev/md2 。然后把逻辑卷上的分区给格式化: mke2fs –j /dev/vg/usr;mke2fs –j /dev/vg/home;mke2fs –j /dev/vg/opt;mke2fs –j /dev/vg/var;mke2fs /dev/vg/tmp;/mke2fs –b 4096 –T largefile /dev/vg/distfiles;mke2fs –b 1024 –N 200000 /dev/vg/portage;mke2fs /dev/vg/vartmp 。
9. 挂载分区和进入目录:我又懒了,,看图
livecd ~ # mount /dev/md3 /mnt/gentoo
livecd ~ # cd /mnt/gentoo
livecd gentoo # mkdir boot home usr opt var tmp
livecd gentoo # mount /dev/md1 /mnt/gentoo/boot
livecd gentoo # mount /dev/vg/usr /mnt/gentoo/usr
livecd gentoo # mount /dev/vg/home /mnt/gentoo/home
livecd gentoo # mount /dev/vg/opt /mnt/gentoo/opt
livecd gentoo # mount /dev/vg/tmp /mnt/gentoo/tmp
livecd gentoo # mount /dev/vg/var /mnt/gentoo/var
livecd gentoo # mkdir usr/portage var/tmp
livecd gentoo # mount /dev/vg/vartmp /mnt/gentoo/var/tmp
livecd gentoo # mount /dev/vg/portage /mnt/gentoo/usr/portage
livecd gentoo # mkdir usr/portage/distfiles
livecd gentoo # mount /dev/vg/distfiles /mnt/gentoo/usr/portage/distfiles
(为临时文件夹设置适当的权限)
livecd gentoo # chmod 1777 /mnt/gentoo/tmp /mnt/gentoo/var/tmp
好了,今天就暂时到此为止,主要是要理解和明白每个命令的作用和用法,然后要明确自己分区的目的,做好规划,要不然头晕了,,就真。。。那啥了。。
还有就是有啥意见,可以留言,,我会虚心接受。。恩,今天就这样。。再见。。