决定最近开始,陆续把自己整理的一些技术tip记录下来,一是可以与人分享,同时也方便自己查询。
第一个是solaris live install.
(这篇文章我也发布在了chinaunix, 参见 http://bbs.chinaunix.net/viewthread.php?tid=1234970&highlight=shyjack)
solaris fresh install, 正常情况下需要shutdown原有系统,整个安装过程,原系统不可用。而live upgrade 又针对的是升级,不是fresh install, 经过几天的摸索,总结了一下 live install 的过程:
我的测试环境是在 solaris 11/06, 硬件为 Sun Fire V120 情况下做的测试, 这些步骤自己摸索,不要在生产系统上尝试。
1 将solaris 10 dvd spool到本地硬盘,该步骤可选,我习惯spool到本地硬盘,再做个tar包,哪台机器需要就传过去,可以做 live upgrade, 也可以boot server,很方便
cd /cdrom/cdrom0/Solaris10/Tools/
./setup_install_server /sol10_image
注:v120上没有dvd,我的/sol10_image 实际就是从其他机器上拷贝过来的。
2 创建一个profile,准备live install用,我的测试机器上有两块硬盘c1t0d0 &c1t1d0,c1t0d0 上运行着sol10, c1t1d0 暂时没用,准备 live install一个sol10到c1t1d0,下面是一个profile的例子
install_type initial_install
system_type standalone
partitioning explicit
filesys c1t1d0s0 15000 /
filesys c1t1d0s1 5000 swap
filesys c1t1d0s3 5000 /opt
filesys c1t1d0s4 5000 /var
filesys c1t1d0s5 free /export
cluster SUNWCXall
3 从sol10 image中拷贝出 transfer_list 文件
cp /sol10_image/Solaris_10/Tools/Boot/etc/transfer_list /etc
4 用pfinstall进行live install
/usr/sbin/install.d/pfinstall -c /sol10_image /var/tmp/profile.c1t1
注:pfinstall本来是用来测试profile的,但是不指定-d 或者-D, pfinstall会直接往硬盘上安装
5 pfinstall会在硬盘 c1t1d0上建好vtoc,之后开始安装,安装完毕会报几个错误,但是只要所有的pkg都正常安装就无所谓。下面将手工修复这些错误
在pfinstall进行安装过程中,c1t1d0的上slice会被mount到 /a , 因此下面的一些手工修复也都是针对 /a (将 /a视为新os的root 目录)
5.1 在pfinstall完毕,会在/tmp下创建 vfstab 和install log
cp /tmp/vfstab /a/etc/vfstab
cp /tmp/install_log /a/var/sadm/system/logs/install_log (可选)
5.2 安装 boot block
installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s0
5.3 清理设备文件
devfsadm -r /a -C
devfsadm -r /a
5.4 在新os的/etc目录下创建 sysidcfg 文件,否则 system identification 过程也是很无聊 (可选)
在 /a/etc 下创建 sysidcfg, 下面是一个例子
language=AU-English
network_interface=eri1 {primary
protocol_ipv6=no
netmask=255.255.255.0
default_route=none
hostname=testhost}
security_policy=none
nfs4_domain=dynamic
name_service=none
timezone=Australia/NSW
system_locale=en_AU
terminal=vt100
timeserver=localhost
root_password=4seRWaJMeSjTg
5.5 init 0 将机器带到 ok prompt, 用 c1t1d0s0 引导 os
(由于pfinstall在修改boot-device时候失败,如果以后默认想用c1t1d0 引导系统,可以在这一步修改boot-device)
在整个测试过程中只遇到一个问题,就是系统运行在 c1t0d0 上的时候,第二块硬盘为 c1t1d0, 可是live install完后,用第二块硬盘启动的时候两块硬盘被probe成c0t0d0 &c0t1d0了, controller number不一致,需要手工修改下 /etc/vfstab 。