全部博文(11)
分类:
2008-08-28 11:42:43
目录
1、 系统启动和测试
1.1 OK提示符
1.2 在串口状态测试
1.3 重启SUN工作站
1.4 测试系统
1.4.1标题
1.4.2 probe
1.4.3测试全部
1.4.4 printenv和devailas
1.4.5禁止显示网络错误信息
2、系统管理硬盘
2.1逻辑硬盘地址
2.2分区
2.3意外错误记录
2.4实例
2.5可移动设备
2.5.1卷管理
2.5.2软驱
2.5.3光盘驱动器
2.5.4可擦写光盘驱动器
2.5.5 USB存储设备
2.5.6磁带
2.6复制硬盘(clone)
2.6.1复制内置硬盘
2.7使用SDS软件将系统硬盘镜像
3、交换分区
3.1在/etc/vfstab文件中永久修改
3.2临时修改
4、系统的安装和维护
4.1从光盘安装
4.2软件包的安装
4.3系统补丁的安装
5、X-Server和CDE用户使用界面
5.1综合观察
5.2定制登陆界面
5.3双屏显示,双屏连接和24位深色的设置
5.3.1双屏
5.3.2双屏连接
5.3.2 24位色深的设置
6、系统管理
6.1主机名
6.2串口连接
6.3打印机
6.4用户建立
7、网络连接
7.1 /etc-files
7.2 ifconfig
7.3路由
7.4 NIS客户端
7.5 DNS客户端
7.6 DHCP客户端
7.7 sys-unconfig
7.8 10兆和百兆,全双工和半双工
8、提示收集
8.1前三个提示
8.2分析硬件管理
8.2.1 prtdiag
8.2.2 prtconf / path_to_inst
8.2.3 Sun Explorer 软件
8.3分析运行时间数据
8.3.1 time / ptime
8.3.2 vmstat / mpstat
8.3.3 iostat
8.3.4 32位或者64位
8.4调试工具
8.4.1 truss
8.4.2 pstack, pmap和其他
8.4.3 snoop
9、网络资源
9.1网络资源
1、 系统启动和测试
1.1 OK提示符
在进入Solaris操作系统或者系统启动之前,SUN的操作系统有一个BOOT-PROM状态。进入这个状态的方法是同时按键盘上的stop+a,如果键盘上没有STOP这个功能键(PC键盘),可以使用Ctrl+break键进入。
如果你进入了BOOT-PROM状态,在OK提示符下,而你的Solaris操作系统还在运行,你可以在ok提示符下使用go这个命令使系统继续运行。
1.2 在串口状态测试
BOOT-PROM可以进入意味着计算机有一台显示器和键盘或者显示终端。如果系统启动了,而并没有键盘和显示器,那么输入输出将被默认为第一个串口(/dev/ttya,通常是叫A)。可以使用终端或者其他的计算机使用交叉串口来连接到这里。
1.3重启SUN的工作站
在重启之前,sun的工作站需要一个适当的方式,可以从以下的几个命令中选择一个:
# init 5 关闭所有的进程,并且关闭计算机电源
# init 6 关闭所有的进程,并且重新启动计算机
# init 0 关闭所有的进程,并且使计算机回到OK状态
在这3个命令方式中,/etc/rc0.d目录下的K*的脚本将会被执行,使系统重新启动或者关机,重要的数据库也会被关闭,网络服务器也将会关闭所有的进程ID。如果以上的命令都没有反应,可以尝试使用以下的命令:
-stop+a
-sync
注意:系统的核心将会临时存储在/var/crash/
1.4测试系统
启动系统,在内存自检的时候按下stop+a,在下面的段落里将可以看到硬件的测试命令。
1.4.1标题
banner这个命令将可以显示下消息:
cpu的数量,频率以及CPU的基本信息
内存的大小和信息
MAC地址和Host-ID
如果有显示设备,还可以看见显卡的信息
1.4.2 probe
probe-scsi-all将可以看见所有的SCSI设备,如果是IDE接口的计算机,可以使用probe-ide-all这个命令。
1.4.3测试全部
test-all将执行安全检测来测试所有的设备,并且如果网络连接的话,还可以通过发送信息包的方式来测试网络。
1.4.4 printenv和devalias
printenv可以列出所有的变量而devalias将列出所有的别名,例如启动设备的变量如果是disk,那么系统将从硬盘开始启动,而disk就是默认的硬件设备的别名。
提示:如果想将所有的变量恢复到初始状态,可以在ok状态下按stop+n键来实现。注意:在恢复所有变量到默认初始状态的时候,会失去你的启动设备的别名,将会造成系统不能自动启动。
1.4.5关闭网络错误提示
如果在开机的时候不想看见“Interface: No link”这样的错误信息,可以在ok状态下使用setenv tpelink-test? false 这个命令来禁止显示。
注意:如果不想让未连接网线的网卡显示信息,也可以在进入系统后用ifconfig interface unplumb这个命令来停止网卡的工作。
2、 系统管理硬盘
2.1逻辑硬盘地址
所有的硬盘命名规则都有一个普通的规定。由以下4个部分组成:
c 控制接口
t 目标地址(scsi设备将给予scsi-ID)
d 设备地址或者卷的raid地址(一个地址,多个盘)
s 片地址,也就是说分区地址
所有的设备地址都将作为链接文件存于/dev/dsk 和 /dev/rdsk.这两个目录下,这些链接点将直接链接到物理设备名。添加了新的设备可以在ok状态下使用boot –r这个命令或者进入系统后使用devfsadm来使新的设备被确认,而且可以在ok状态下用probe-scsi-all来查看新的设备。
2.2分区
在一个有两块内置硬盘的工作站中,使用format命令将可以看见以下的输出选择:
c0t0d0
c0t1d0
这里列出的是硬盘,而没有单独的扇区或分区,而使用format的目的就是为了建立或者管理分区,一块硬盘可以分8个分区,这个可以在format命令后用print-partition来看见。
如果使用solaris的默认安装,那么系统将会默认建立以下几个分区:/(root),/usr,/var,/export/home,如果是solaris 8的默认安装,将会建立3个分区:/分区将有1G,swap分区将根据内存大小而定,而剩下的容量将全部给到/export/home。
但是对于一个工作站来说,这样的分区并不是最理想的,分区的大小不适应于数据的展开,对于不同的应用,应该采取不同的分区方式。(原书中给了很多示例,但是个人认为应该根据自己的经验和客户的要求来处理硬盘的分区。)
2.3意外错误记录
从solaris 7开始,意外错误记录都会默认的被写在swap分区中,这就是为什么要把swap分区的大小与内存的大小联系起来的原因。
在下次启动的时候,系统会把文件和摘要从swap里读出来,并且写入到/var/crash/
如果系统突然使用了很多的swap分区(上GB的),那么系统进程将会使用一些时间因为某些程序会被使用。具体的一些方式可以去参照dumpadm这个命令。
注意:经常检查并且清除/var/crash/
2.4示例
如果有一台sun E450的服务器,并且有可以启动操作系统的硬盘,但是并不知道以下的两件事情:
1、 硬盘放在什么位置(因为450有20个硬盘的插槽,并且如果需要硬盘启动,硬盘必须插在第一次安装时所在的那个槽位)。
2、 root用户的密码。
那么可以把硬盘插在一个可用的的槽位上,开始以下的步骤。
第一步:将一张系统盘放在光驱中,并且在ok状态下输入boot cdrom –s,cdrom的地址是系统默认的,如果不能使用,可以用probe-scsi-all来查看cdrom的实际地址,用boot 实际地址 –s来启动。
系统启动后,可以看到一个无需密码的root用户提示符。
第二步:然后开始mount硬盘,首先使用devfsadm命令,可以在/dev/dsk形成硬盘的信息。使用format-disk-print-partition命令来看这块新添加的硬盘,如果它的地址是c2t1d0,那么c2t1d0s0就是它的root分区,使用fsck –y /dev/dsk/c2t1d0s0,mkdir /tmp/dsk,mount /dev/dsk/c2t1d0s0 /tmp/dsk,cd /tmp/dsk。
第三步:首先,把root的密码设置为空,需要进入到/tmp/dsk/etc/shadow文件中,删除root用户后的字符。然后,修改/tmp/dsk/etc/vfstab文件,将/的启动地址设置为/dev/dsk/c2t1d0s0,根据实际情况的不同,修改的地址也是不一样的。
第四步:如果我们在/tmp/dsk/etc/vfstab中看见实际的/的启动地址就是/dev/dsk/c2t1d0s0,那么说明本来安装的时候就在这个槽位,但是一般默认的地址是/dev/dsk/c1t0d0s0,如果是这样,需要找到实际的挂接点,然后写入。
第五步:重新启动系统,ok提示符下输入boot 硬盘的物理地址。
第六步:可以用nvalias mydisk 硬盘的物理地址来给新的启动盘起一个别名,这样我们可以用boot mydisk或者setenv boot-device mydisk让系统总是从这块硬盘启动。
2.5可移动设备
2.5.1 卷管理器
所有的可移动设备都是由卷管理器来管理的,卷管理器默认的光驱加载点是/cdrom/cdrom0。Solaris下卷管理器是自动启动的,如果没有启动,可以用
/etc/init.d/volmgt stop,/etc/init.d/volmgt start,来手工启动。
2.5.2 软盘驱动器
软盘(unix文件系统格式化或者MS-dos文件系统格式化)是与卷管理器中的volcheck相关联的,默认的加载点是/floppy/floppy0,如果不能自动退出软盘的话,可以用eject floppy命令来实现。
2.5.3 光盘驱动器
光盘不需要volcheck命令支持,退出光盘可以用eject cdrom来实现。
如果光盘不能自动mount,或者卷管理器不可用,可以用以下命令实现:
- mkdir /tmp/cdrom
- mount -F hsfs /dev/dsk/c0t6d0s0 /tmp/cdrom
- (Work with CD mounted on /tmp/cdrom)
- umount /tmp/cdrom
- eject /dev/dsk/c0t6d0s0
2.5.4 可擦写光盘驱动器
在solaris8下可以使用可擦写光盘,这是solaris 8下的一个工具,可以刻录iso的镜像,可以用mkisofs命令来将solaris系统做成镜像文件。
例子:
#! /bin/sh
# ./nfscd
# PARAMETER1 = Application ID
# PARAMETER2 = from where
#
# ./nfscd SunNetManager /net/center2000/export/pkg/SUNWsnm
# set Umask
umask 022
# Remove old image
rm /data/disk.img
# Create image
mkisofs -A $1 -d -l -L -o /data/disk.img -P "Sun Microsystems" -p
"Solaris SPARC" -r -R -J -V "$1" -v $2
# Burn
cdrw -i /data/disk.img
(我没有试过,如果有尝试成功的朋友可以共享以下)
2.5.5 USB存储设备
现在很多新的设备都有USB的接口,所以很多USB的存储设备可以在sun的机器上使用。如果卷管理软件可以自动加载,我们可以建立/rmdisk目录,并且把权限做的和/cdrom目录相同,这样就可以自动看见USB存储里的文件,如果不能自动加载,需要在/dev/dsk中去查找,并且手动mount。
例子:
mkdir /tmp/usbstick
mount -F pcfs /dev/dsk/c1t0d0s2:c /tmp/usbstick
2.5.6磁带
磁带设备并不使用卷管理器,对于它的使用需要用一些命令,例如tar或者cpio。通常磁带机将会链接在主机的SCSI总线上,在系统启动的时候会自动加载,也可以使用devfsadm命令来使磁带机被加载上来。可以使用命令tar tvf /dev/rmt/0对磁带机进行操作。
2.6复制硬盘
可以用类似克隆的方法来复制硬盘,但是必须是相同接口的,例如ultra 10的硬盘就不可以用在ultra 60的工作站上。如果硬件不同的计算机,例如有不同的显卡,网卡等设备的计算机,可以在开机时使用boot –r命令来重新认出新的设备。
2.6.1复制内置硬盘
对于同样接口的硬盘,目标盘的容量一定要大于或等于源盘的大小。
方法:
1、 将目标硬盘插入硬盘插槽,使用devfsadm认出新的硬盘。
2、 使用dd if=/dev/rdsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 Bs=1024k命令开始复制。
3、 复制完成后用fsck –y /dev/dsk/c0t1d0s0检查新硬盘的文件系统。
4、 取出目标硬盘,放入未安装系统的计算机后启动。
注意:对于使用光纤硬盘的机器,需要使用可以启动的光盘来启动后将源盘加载,并且在复制完成后需要将/etc/path_to_inst文件修改为/etc/path_to_inst.old,在新的计算机上使用boot –ar来重新建立系统信息。(光纤硬盘的dd我没有做成功过,如果哪位有成功的经验也可以共享)
2.7使用SDS软件将系统硬盘镜像
SDS软件是sun自己的软件raid工具,支持raid 0,1,5,0+1等多种raid方式。
镜像就是将两块硬盘做成一模一样的文件和系统,并且相互冗余,在一块硬盘损坏时可以使用另一块硬盘,是一种保护数据安全的方式。
方法:
1、 分区,可以用format命令将两个盘的分区做成一样,也可以使用命令,但是需要两块同样的硬盘,命令:prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
2、 建立raid数据库, metadb -a -f -c 3 c0t0d0s3 c0t1d0s3
3、 对两块硬盘进行操作:步骤:metainit –f d1 1 1 c0t0d0s0
metainit d2 1 1 c0t1d0s0
metainit d0 –m d1
metaroot d0
lockfs –fa
reboot
(如果需要给其他的分区做镜像,也可以参照以上命令,可能略有不同,实际情况实际操作。)
3、 交换分区
3.1在vfstab文件中永久修改
大家可以看见,在/etc/vfstab文件中,关于swap的写法是这样的:
/dev/dsk/c0t0d0s1 - - swap - no –
如果需要添加,可以按照这个方式添加分区就可以,或者用mkfile等办法,关于这个方法在SA-288的教材中有很详细的介绍,这里就不多说了。
3.2临时添加swap分区
示例:
# mkfile 100m /export/home/swapfile
# swap –a /export/home/swapfile
# swap –l
4、 系统的安装和维护
4.1从光盘安装
在安装过程中,可以根据显示器上的提示一步步的进行安装,也可能会有一些缺陷发生:
――名称服务:选择none,如果你选择了例如NIS这样的服务而NIS网络服务器并不可用,系统就会当在这里,并且开始寻找NIS服务器。更好的方法是安装完成以后再去设置这些东西,例如NIS或者DNS。
――安装cluster:如果是工作站,应该选择“Entire Plus OEM Software”这个安装模式,因为cluster的安装需要一些组件的支持。
――硬盘分区:由于不同的需求会有不同的安装方式,所以在磁盘分区的时候不要选择default,而应该选择custom。
注意:solaris 8以后的系统中,安装完成后root用户只能在控制终端上登陆,如果需要使用telnet或者rsh的方式来登陆的话,请修改/etc/default/login中的CONSOLE=/dev/console,把这串字符注释掉就可以。
4.2软件包的安装
通常情况下,所有的软件包都会被使用tar,zcat,zip等方式来打包,所以需要先把软件包打开之后使用pakadd命令安装,或者用pkginfo查看。
示例:
pkgadd –d .
pkginfo | grep ***
4.3系统补丁的安装
系统的补丁是sun公司为了修正系统内的一些bug或者增加一些系统的功能而专门发行的一些软件包,在solaris 8以前,所有的包都是*.tar.Z格式的,而从solaris 8开始,所有的包都是*.zip格式的,所有的patch都是以一个8位数的集合存在的,例如123456-78,前面的6位代表patch的号码,而后面的两位代表其版本号,可以用以下命令打开:
zcat 123456-78.tar.Z | tar xvf -
unzip 123456-78.zip
然后,进入patchID的目录,使用patchadd安装,patchrm删除。安装后的记录都存在于/var/sadm/patch的下面,也可以使用showrev -p | grep
5、X-Server和CDE用户使用界面
5.1综合设置
关于X-Server和CDE用户使用界面的设置文件总是存在于下面3个文件中,查找顺序为:
1. $HOME/.dt/...
2. /etc/dt/...
3. /usr/dt/...
系统宽度的文件是不可修改的,存在于/usr/dt/,而/etc/dt/下面的文件是为了维持系统不出现问题的,而用户个人的设置文件总是存在$HOME/.dt/下面。
5.2定制登陆界面
可以通过修改
象素和分辨率需要修改Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
标题显示修改可以通过Dtlogin*greeting*labelString: Here's %LocalHost%!
而欢迎语可以修改Dtlogin*greeting*persLabelString: Hello %s
5.3双屏显示,双屏连接和24位深色的设置
首先,假设有两块Expert3D的显卡,那么在/dev/fbs下就可以看到/dev/fbs/ifb0和/dev/fbs/ifb1这两个文件,而将Xservers文件从/usr/dt/config拷贝到/etc/dt/config下,然后查看,将可以看到以下内容,:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
5.3.1双屏显示
双屏显示就是说CDE桌面将会出现在每一个前端的显示器上,鼠标的指针也可以在两个前端使用,在ifb0上显示的显示设备叫:0.0,而ifb1上的设备则叫:0.1。
只要修改Xservers文件,将最后一行改为
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner就可以实现了
5.3.2连屏显示
连屏显示是一种将虚拟显示覆盖在所有的物理设备上的方式。鼠标和窗口将可以在所有的显示器中移动,但是只有一个前端的显示,将会只有一个显示器端口号:0.0。连屏显示只能支持两块同样的显卡,同样是修改文件:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 +xinerama -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner
连屏同样可以定义于交迭于x轴和y轴,可以缓慢的混和交迭或者将双面的图片显示在两个显示器上,修改方式:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 +xinerama -xoverlap -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner
5.3.3 24位色深的设置
CDE默认都是使用8位色深(256色)的,如果想修改,PGX的显卡可以使用命令fbconfig -depth 24来实现,但是有的显卡不支持这样的命令,所以需要将文件修改成为:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ifb0 defdepth 24 -dev /dev/fbs/ifb1 defdepth 24 –nobanner
6、系统管理
6.1主机名
可以使用admintool或者smc来建立主机名,但是也可以通过修改/etc/hosts,/etc/hostname.interface,/etc/nodename文件来修改主机名,(/etc/hosts文件是链接在/etc/inet/hosts文件上的),系统默认安装时会启动sendmail-daemon,这个会使你的系统在开机时报错,如果不想系统出现提示信息,可以将/etc/inet/hosts文件中关于主机名的那一行修改为:192.168.0.2 myhost myhost.domain.com loghost
6.2串口连接
在solaris 8下最好使用admintool或者solaris 9下使用smc。
6.3打印机
在solaris 8下最好使用admintool而在solaris 9下使用"Printer Setup Wizard"/usr/sadm/admin/bin/printmgr.
6.4用户建立
在solaris 8下最好使用admintool或者solaris 9下使用smc,但是用户目录不可以使用/home/xxx,只能使用/export/home/xxx,很多使用其它操作系统的人总是习惯将用户目录建立在/home下,但是solaris下/home目录属于autofs管理,如果关闭autofs,可能会造成某些不必要的麻烦。
7、网络连接
7.1 /etc-files
在solaris操作系统下,把网络配置文件放在/etc目录下,所有的关于IP地址、网关或者其它参数的修改都会在重启后复原,因此只能通过修改/etc下的文件来修改关于网络的参数。这些文件是:
- /etc/nodename
- /etc/hostname.
- /etc/inet/hosts
-/etc/net/{ticlts,ticots,ticotsord}/hosts
/etc/nodename文件是确定系统的主机名的文件之一,但是我们依然需要修改/etc/hostname.
le 比较早的sparc的系统中存在
hme 高速的网卡接口在Ultrasparc系统中
eri 高速的网卡接口在sparcIII系统中
qfe 高速的网卡接口在QuadFastEthernet网卡上
ge 千兆的光纤网卡接口
另外,子网掩码的修改是在/etc/netmasks文件中。
7.2 ifconfig
ifconfig命令是查看和修改网络IP的命令
示例:
ifconfig –a
ifconfig hme0 down
ifconfig hme0 192.168.0.3 netmask 255.255.255.0
ifconfig hme0 up
ifconfig qfe0 plumb
ifconfig qfe0 unplumb
7.3路由
路由器的IP地址存在于/etc/defaultrouter文件中,也可以命令的方式修改:
删除所有路由:router flush
添加一个路由地址:router add xxx.xxx.xxx.xxx
可以用netstat –rn来查看路由是否成功。
7.4 NIS客户端
1.先将NIS域写入/etc/defaultdomain
2.将NIS服务器名和IP写入/etc/inet/hosts
3.使用ypinit –c命令,并将客户端主机名写入NIS服务器
4.客户端使用/usr/lib/netsvc/yp/ypstart命令或者重启客户端
7.5 DNS客户端
1.将DNS服务器的IP地址写入/etc/resolv.conf文件,格式:nameserver xxx.xxx.xxx.xxx
2.修改/etc/nsswitch.conf文件,将hosts: files后加上dns
7.6 DHCP客户端
网络接口使用DHCP需要在/etc下建立/etc/hostname.
临时修改只需要使用命令:
ifconfig qfe0 plumb
ifconfig qfe0 dhcp start
7.7 sys-unconfig
如果想修改网络配置,但是又不能确定修改哪些文件,有一个很简单的办法:sys-unconfig命令,重启之后,就可以设置IP,子网掩码,路由等等配置了。
7.8 10兆和百兆,全双工和半双工
可以使用ndd命令来修改网卡工作模式,示例:
- ndd /dev/eri link_status: 0 = down, 1 = up
- ndd /dev/eri link_speed: 0 = 10 Mbit, 1 = 100 Mbit
- ndd /dev/eri link_mode: 0 = half-duplex, 1 = full-duplex
8、提示收集
8.1提示
1.ps –ef|grep
2.如果不习惯使用VI,可以尝试使用CDE的编辑工具dtpad。
8.2分析硬件管理
8.2.1 prtdiag
./usr/platform/
8.2.2 prtconf / path_to_inst
prtconf可以显示分层目录硬件树信息,硬件地址和逻辑地址的信息存在于/etc/path_to_inst文件中,这个文件将会在boot –r或者devfsadm后重建。
8.2.3 Sun Explorer 软件
这个软件可以在下载到,一般sun的报修是以这个程序所形成的文件为准。
8.3分析运行时间数据
8.3.1 time / ptime
time和ptime是执行命令,并在执行完后显示其运行的时间
8.3.3 vmstat / mpstat
vmstat 是监视CPU和内存的命令,mpstat 可以监视多个CPU状态
8.3.4 iostat
iostat 是监视磁盘状态的命令
8.3.6 32位或者64位
isainfo –kv可以显示系统核心是32位或者64位,从sparc II开始,所有的系统都是自动使用64位的核心了,可以在OK状态用boot kernel/unix替代boot kernel/sparcv9/unix使用32位核心,但是从sparc III开始,就只有64位的核心可以用了。
8.4调试工具
8.4.1truss
truss
8.4.2 pstack, pmap和其它
pstack
pldd
pmap -x
8.4.3 snoop
snoop命令可以显示所有从一个网络接口所发出的包
9、网络资源
9.1网络资源
sun公司的官方网站
docs.sun..com sun公司的所有在线产品的文档下载网站
sunsolve.sun.com 技术上的问答,sun的产品详细介绍,patch下载
solaris下的免费工具,全由第三方开发
EEPROM 下的 troubleshooting:
Show-dev
Show-disks