Chinaunix首页 | 论坛 | 博客
  • 博客访问: 897281
  • 博文数量: 148
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3920
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-30 18:17
文章分类

全部博文(148)

文章存档

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 10SMF管理服务。

如果要修改那些受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管理控制台)的一部分。SMCsolaris提供的图形化管理控制台,用来处理各种系统管理操作。运行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兼容的文件系统驱动程序,允许挂接基于DOSWindows FAT的文件系统,并进行读写
5.Solaris
能够支持许多种的文件系统类型。
能支持绝大多数存储介质比如CD,DVD,硬盘,软盘,U盘以及基于网络的文件系统协议。
Solairs
还为不同的文件系统提供接口功能,把一些内核信息输出成文件以便用户查看,比如
/etc/mnttab.
除了自身提供的文件系统支持外,还支持第三方软件厂商的文件系统,比如Veritasvxfs文件系统。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:
环回设备提供了一种机制,能够把磁盘映像挂接成文件系统。solariszone亦使用环回设备处理环回文件系统的挂接。
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
文件系统的类型必须根据映像文件的类型指定,比如如果映像文件是CDISO映像,则文件系统类型为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都使用quotarepquota命令[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命令才可以使用新硬盘

详见《从LinuxSolaris:设备管理》:磁盘管理

Linux
使用fdisk命令管理磁盘分区
fdisk /dev/sda
Linux fdisk
常用指令:m帮助,p显示分区,n创建新分区,w保存

solaris
中与磁盘管理有关的命令主要有formatfdiskfdiskx86版的solaris才有)用来创建磁盘分区。
format>fdisk  or fdisk /dev/rdsk/c0t0d0s2
solaris x86 fdisk
的指令使用和windows or dosfdisk完全一样

Linux
文件系统的分区类型ID0x83,LinuxSWAP分区的类型ID0x82
Solaris
分区的类型为0x82,和LinuxSWAP分区类型相同

如果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),但依然可以识别旧的0x82Solaris type,但默认采用solaris2类型(x86版本可通过fdisk工具把solaris2改成solaris分区)。一些旧的非Solaris的分区软件可能还无法识别这种新的分区
0xbf.
format
命令用来把solarisfdisk分区(x86系统)或者整个磁盘(sparc系统)划分成片(slice)。执行format命令时,solaris系统能认到的硬盘都会被列出,然后选定一个,使用partition指令进行划片操作卷管理

Linux
的卷管理使用vg*lv*命令
Solaris
使用元设备(metadevice)的概念进行卷管理,管理软件叫做SVM(solaris volume manager),所有的相关管理命令为meta*作者保留版权,转载请注明出处,来自
cu-yuhuohu.

 

阅读(1128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~