2008年(148)
分类:
2008-04-16 08:27:36
系统管理
Linux和Solaris系统的管理任务非常相似,很多时候连使用的命令都是一样的。无论是Linux还是Solaris管理员,在转向另外一个系统管理时,原先所获得的那些管理经验绝大部分情况下依然可用。
启动、关闭和运行级别(revision 1.1)
系统服务(revision 1.1)
用户/组管理(new)
打印管理
文件系统管理(revision 1.1)
环回设备
文件系统配额(revision 1.11)
磁盘和卷管理
网络管理(revision 1.11)
远程管理(revision 1.21)
内核管理
SWAP管理(new)
nfs(new)
1、启动关闭和运行级别
QUOTE:
运行级别的区别
直到Solaris 9为止,solaris的启动步骤和Linux几乎没什么区别。二者都提供了运行级别(run level)的概念,每个运行级别都定义了哪些服务被启动和停止。都使用init命令在不同的运行级别间进行切换。
Linux的运行级别
Solaris 10之前的版本
Solaris 10的里程碑
0 halt(系统停止)
0 halt
1 单用户
1,s,S 单用户
single-user
2 多用户(无网络)
2 多用户(无网络服务)
multi-user
3 多用户(文本)
3 多用户(带网络服务,默认级别)
multi-user-server
4 有些版本保留,有些同5
4 保留,未使用
5 多用户(图形,默认级别)
5 关闭系统
6 重启
6 重启
Solaris 10引入了SMF功能,运行级别被里程碑(milestone)所代替
sysconfig
devices
single-user
network
name-services
multi-user
multi-user-server不过solaris10依旧保留了运行级别的概念以便和先前的Solaris版本兼容
solaris还提供了另外两个命令,可改变系统的当前运行状态:
reboot重启系统
halt停止系统的运行但需注意的是,这些命令执行时,系统不会执行正常的关闭操作,不会停止服务,仅对进程进行简单的杀掉操作,卸除文件系统然后重启或停机。建议使用init命令或shutdown命令(两个系统的shutdown命令用法略有区别),而不是reboot or halt。
shutdown命令的区别两个系统的shutdown命令默认都是进入单用户维护模式(init 1)
Linux的shutdown选项:-r重启(init 6),-h停止系统(init 0),-F重启后执行fsck操作,-f重启后不执行任何fsck操作(快速启动)
shutdown now
shutdown -h 10 "system will be shutdown to halt in10 minutes"
shutdown -rF 5 "reboot and fsck" 重启后强制执行fsck操作
Solaris的shutdown命令:shutdown [-y] [-i init_level] [-g minutes] [messages]
shutdown -y -g 10 -i 5 10分钟后执行关机操作(init 5)
solaris的shutdown命令可以切换到任一运行级别
shutdown会在执行shutdown前 7200, 3600, 1800, 1200, 600, 300, 120, 60,30秒时重复发送消息给所有登进系统的用户作者保留版权,转载请注明出处,来自cu-yuhuohu.
2、系统服务
QUOTE:
服务的起停
Linux系统中,除非服务是从inittab中以respawn属性运行,否则系统服务一旦被杀掉或非正常终止,就不会重新生成
solaris 10中,由于SMF的存在,那些由SMF自动启动的系统服务,简单的kill操作对其无效。必须使用svcadm命令来禁用或启用这些服务。Solaris 10用SMF管理服务。
如果要修改那些受inetd管理的服务,需要编辑/etc/inet/inetd.conf,
然后执行inetconv命令在SMF中创建相应的服务条目,从而把这些服务转换成接受SMF管理。
在solaris 10中,这类服务可以通过svcadm or inetadm命令进行管理Linux系统中,
由xinetd守护进程控制服务。通常在以下几个位置存放服务的配置
/etc/inittab 由init控制
/etc/rc*.d 各个运行级别的专用脚本用以启动各种系统服务
/etc/(x)inetd.conf 由inetd控制
/etc/init.d、/etc/rc*d实际上都是链接到/etc/rc.d目录中的各同名子目录
几种起停方式
GUI的"系统设置"-->"服务器设置" ,CLI的# ntsysv
# service service-namestop|restart
# /sbin/chkconfig--level 345 service-name on|off
常见的服务名:network,iptables,httpd,vsftpd...
solaris中服务配置的位置
/etc/inittab 由init控制,但solaris 10不推荐使用
/etc/rc?.d,/etc/init.d
/etc/inetd.conf 由inetd控制,Solaris 10中使用inetadm or SMF进行管理
SMF 仅Solaris 10使用
3、用户/组管理
QUOTE:
默认属性
linux新增账号的默认属性存放在/etc/default/useradd文件中,修改这个文件立即生效 # cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
Solaris没有默认的账号属性配置文件(但一些默认属性还是存在的),可以使用useradd -D命令生成
。当第一次运行useradd -D时,会生成一个,/usr/sadm/defadduser文件。所有的缺省参数均保存在这个文件中。以后修改useradd命令的缺省参数只要修改这个文件即可。 # useradd -D
group=other,1 project=default,3 basedir=/home
skel=/etc/skel shell=/bin/sh inactive=0
expire= auths= profiles= roles= limitpriv=
defaultpriv= lock_after_retries=
添加新账号
linux系统添加新账号
默认会根据缺省的basedir创建与账号同名的家目录
同时还会创建和账号同名的组(-n选项可关闭这个功能),这样做的好处是如果某个账号A需要和其他账号共享自己的文件,只需把其他账号放置到与账号A同名的组内即可。
如果同名组已存在,添加新账号时必须使用-g groupname选项指定或者用-n关闭自动建同名组的功能,否则会报错
solaris不会自动创建用户家目录,必须在命令行中指定家目录并使用-m选项才会自动创建
useradd -d home_directory-m username组管理
Linux提供了组管理命令gpasswd,用法为gpasswd [option] group_name
系统管理员可以用gpasswd -A指定组的管理员,-M指定组的成员,-r删除组密码,-R禁止通过newgrp命令切换成这个组身份
组管理员使用gpasswd -a | -d添加和删除组成员。
如果组没有设置密码,只有组成员可以用newgrp命令切换成这个组的成员身份
如果组设置了密码,非组成员也可以使用这个组身份,但必须提供密码。
此外
Solaris扩展了useradd,groupadd命令,可配置和RBAC有关的属性,可参见《》
Solaris还提供了smuser,smgroup命令,可对名称服务器(比如NIS)上的账号和组进行管理。这两个命令是SMC(Solaris管理控制台)的一部分。SMC是solaris提供的图形化管理控制台,用来处理各种系统管理操作。运行smc命令将提供一个图形化的控制台界面,能够管理用户账号和组。作者保留版权,转载请注明出处,来自cu-yuhuohu.
4、打印和打印机管理
QUOTE:
绝大多数Linux系统都提供CUPS来处理它们的打印任务以及打印机管理。
Solaris 10也包括了CUPS,能够和Linux系统兼容
Solaris 10之前的版本采用的是System V的打印服务。
system V的打印系统使用以下相关命令进行打印作业的管理
lpadmin 修改打印系统参数
lpsched 启动打印服务器(/usr/lib/lp/lpsched)
lpshut 停止打印服务器
cancel 取消打印作业
lpmove 把打印作业转移到另外一个打印机
lp 提交一个打印作业
lpstart 查看打印机或打印作业的状态打印系统的配置保存在以下几个位置
/etc/printers.conf文件
NIS配置数据库库中的打印机地图文件
$HOME/.printers
$PRINTER and $LPDEST 环境变量Solaris 10中可运行printmgr命令进入图形化的打印机配置界面
printmgr命令位于/usr/sadm/admin/bin/printmgr,/usr/sbin/printmgr仅是一个符号链接这个GUI界面类似于GNOME的打印机管理命令gnome-cups-manager(绝大部分Linux系统中都有这个命令).作者保留版权,转载请注明出处,来自cu-yuhuohu.
5、文件系统管理
QUOTE:
1.创建文件系统
Linux使用mke2fs创建ext2文件系统,使用mkfs -t fs_type可创建ext2,ext3,xfs等文件系统
mke2fs -j /dev/sdb2 在第三个SCSI硬盘的第二个主分区创建ext3文件系统
mke2fs /dev/sdb3 在第三个SCSI硬盘的第三个主分区创建ext2文件系统
mkfs -t ext2 /dev/sdb1 同上
mkfs -t ext2 –j /dev/hda5 加上"-j"选项则创建ext3文件系统.
Solaris使用newfs or mkfs -F fs_type创建文件系统,默认为ufs.
newfs /dev/rdsk/c0t2d0s3 在0号控制器的第三个SCSI硬盘的第3个分片创建ufs文件系统
mkfs -F ufs /dev/rdsk/c0t2d0s3 含义同上2.挂接文件系统(mount)
Linux的Mount命令位于/bin目录,使用-t vfstype来指定文件系统类型.eg. mount -t type ...
# mount /dev/sdb1 /mnt/data -o ro 只读挂接
# mount /mnt/data -o remount,rw 通过remount选项把挂接改为“可读写”
solaris的Mount位于/usr/sbin目录,使用-F FSType来指定文件系统类型.eg. mount -F type ...
# mount -o ro /dev/rdsk/c0t1d0s0 /mnt/data
# mount -o remount,rw /mnt/data3.查看挂接列表
Linux和solaris都可以运行不带选项的mount命令查看.还可以通过以下方式查看
Linux# cat /etc/mtab or cat /proc/mounts
Solar# cat /etc/mnttab4.Linux支持的文件系统
ext2,ext3,ext4
ext2文件系统没有日志记录能力,且inode数量是固定的,mke2fs /dev/sdb1
目前绝大部分Linux系统安装时默认使用ext3文件系统(但mke2fs,mkfs的缺省类型是ext2),mke2fs -j /dev/sdb1
data=writeback(禁用日志记录)
data=orderd(缺省值,将元数据日志记录和数据与元数据一起写到磁盘)
data=journal(用于数据和元数据完整性的完全数据日志记录,写性能降低一半)
相关命令debugfs,tune2fs,chattr
与性能有关的挂接选项:noatime,nodiratim
ext4正在发展中
reiserfs
mkreiserfs /dev/sdb1
与性能有关的挂接选项:noatime,nodiratime,notail
xfs
由SGI移植到Linux的企业级日志文件系统,
jfs
由IBM移植到Linux的高性能日志文件系统
vfat
与DOS兼容的文件系统驱动程序,允许挂接基于DOS和Windows FAT的文件系统,并进行读写
5.Solaris能够支持许多种的文件系统类型。
能支持绝大多数存储介质比如CD,DVD,硬盘,软盘,U盘以及基于网络的文件系统协议。
Solairs还为不同的文件系统提供接口功能,把一些内核信息输出成文件以便用户查看,比如/etc/mnttab.
除了自身提供的文件系统支持外,还支持第三方软件厂商的文件系统,比如Veritas的vxfs文件系统。Solaris支持的文件系统列表:
autofs
cachefs
ctfs
devfs
fd
hsfs
lofs
mntfs
nfs
objfs
pcfs
proc
qfs
sam-fs
tmpfs
udfs
ufs
volfs
xmemfs作者保留版权,转载请注明出处,来自cu-yuhuohu.
6、环回设备
QUOTE:
环回设备提供了一种机制,能够把磁盘映像挂接成文件系统。solaris的zone亦使用环回设备处理环回文件系统的挂接。
Linux可以直接把映像文件挂接到指定的挂载点,挂接环回设备的命令大致如下,:
mount -o loop /path/to/disk/image /mountpoint
Solaris不能直接把映像文件直接挂接,需要使用lofiadm创建一个回环设备,然后再进行挂接。比如以下命令将创建一个回环设备/dev/lofi/X:
lofiadm -a /path/to/disk/image然后把新创建的回环设备挂接:
mount -F FSType /dev/lofi/X /mountpoint文件系统的类型必须根据映像文件的类型指定,比如如果映像文件是CD的ISO映像,则文件系统类型为hsfs
7、文件系统配额
QUOTE:
常见命令
Solaris独有的命令quot命令,查看solaris系统中每个用户的配额使用情况.
其他命令如edquota,quota,quotaon,quotaoff,quotacheck,repquota则是两个系统共有,但选项和行为稍有不同。配置步骤
系统启动时自动开启文件系统配额功能
Redhat 9 Linux在/etc/fstab中类似条目(关键是红字的usrquota,grpquota表示挂接时开启这个文件系统的配额支持)
/dev/sdb1 /mnt/sdb1 ext3 default,usrquota,grpquota 1 1
# mount /mnt/sdb1
Solaris在/etc/vfstab(关键是红字的rq表示开启配额)
/dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /mnt/udata ufs 2 yes rq
# mount /mnt/udata创建配额控制文件
Redhat 9 Linux
# touch /mnt/sdb1/quota.user
# touch /mnt/sdb1/quota.group
# quotacheck -mfugv
a — 检查所有启用了配额的在本地挂载的文件系统
v — 在检查配额过程中显示详细的状态信息
u — 检查用户磁盘配额信息
g — 检查组群磁盘配额信息
c — 指定每个启用了配额的文件系统都应该创建配额文件
f
— 强制对已使用了配额功能的文件系统进行检查(不推荐)
m—quotacheck在开始扫描前会尝试以只读方式remount文件系统,扫描结束后在remount成可读写方式,-m选项可让quotacheck不进行remount操作,
M
—类似于m选项,强行以读写方式进行扫描
# convertquota -u /mnt/sdb1 转化用户配额控制文件quota.user的格式
# convertquota -g /mnt/sdb1 转化组配额控制文件quota.group的格式
Solaris
# touch /mnt/udata/quotas
# chmod 600 /mnt/udata/quotas开启配额功能(都使用quotaon命令,关闭都使用quotaoff命令)
Redhat 9 Linux# quotaon -avug 为所有(-a)的已配置支持配额的文件系统开启用户(-u)和组(-g)的配额功能
Solaris# quotaon /mnt/udata
设置用户的配额
Redhat 9 Linux和Solaris都使用edquota命令
[root@redhat root]# edquota -u usertest
Disk quotas for user usertest(uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 10000 12000 0 10000 12000
设置文件系统配额的期限控制
Redhat 9 Linux和Solaris都使用edquota -t命令 [root@redhat root]# edquota -t
Filesystem Block grace period Inode grace period
/dev/hdc1 7days 7days
查看用户的配额使用情况
Redhat 9 Linux和Solaris都使用quota和repquota命令[root@redhat root]# repquota -a
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 5 0 0
[root@redhat root]# quota -vu usertest
Disk quotas for user usertest(uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 0 10000 12000 0 10000 12000
作者保留版权,转载请注明出处,来自cu-yuhuohu.
8、磁盘和卷管理
QUOTE:
当新硬盘插入机器时如果可以识别,
Linux会自动识别并使用新硬盘。
而solaris即使可识别新硬盘,也必须运行devfsadm命令才可以使用新硬盘
详见《从Linux到Solaris:设备管理》:磁盘管理
Linux使用fdisk命令管理磁盘分区
fdisk /dev/sda
Linux fdisk常用指令:m帮助,p显示分区,n创建新分区,w保存
solaris中与磁盘管理有关的命令主要有format和fdisk。fdisk(x86版的solaris才有)用来创建磁盘分区。
format>fdisk or fdisk /dev/rdsk/c0t0d0s2
solaris x86 fdisk的指令使用和windows or dos的fdisk完全一样
Linux文件系统的分区类型ID为0x83,而Linux的SWAP分区的类型ID为0x82
Solaris分区的类型为0x82,和Linux的SWAP分区类型相同。
如果x86的机器安装了双系统(solaris & Linux),这个关键点可能会导致系统启动故障
Linux系统可支持3个主Linux分区,一个扩展分区,然后在扩展分区中创建多个Linux逻辑分区。这点和windows几乎完全一样.
Solaris 仅使用单个分区(solaris 10 6/06之前的版本分区类型仅能为0x82),然后在分区内通过Sun磁盘标签(disk label)把分区进一步划分成分片,分片操作由format命令的partition指令完成。自Solaris 10 6/06发布版开始,不再仅仅支持类型0x82,而是使用了一种新的类型0xbf(Solaris2 type),但依然可以识别旧的0x82(Solaris type),但默认采用solaris2类型(x86版本可通过fdisk工具把solaris2改成solaris分区)。一些旧的非Solaris的分区软件可能还无法识别这种新的分区0xbf.
format命令用来把solaris的fdisk分区(x86系统)或者整个磁盘(sparc系统)划分成片(slice)。执行format命令时,solaris系统能认到的硬盘都会被列出,然后选定一个,使用partition指令进行划片操作卷管理
Linux的卷管理使用vg*和lv*命令
Solaris使用元设备(metadevice)的概念进行卷管理,管理软件叫做SVM(solaris volume manager),所有的相关管理命令为meta*作者保留版权,转载请注明出处,来自cu-yuhuohu.