- 论坛徽章:
- 0
|
本帖最后由 yuhuohu 于 2010-11-30 11:07 编辑
前人种树,后人乘凉,开源世界,自由分享
做系统管理的不可能单纯的仅接触solaris,unix大同小异,完全可以从solaris出发达到触类旁通的目的。近日有空,看些Linux的管理文档,主要是看Linux和Solaris的区别点,顺手发些心得,这是第五篇:系统管理
从Linux到Solaris (updating)
目录:
第五章:系统管理
Linux和Solaris系统的管理任务非常相似,很多时候连使用的命令都是一样的。无论是Linux还是Solaris管理员,在转向另外一个系统管理时,原先所获得的那些管理经验绝大部分情况下依然可用。
- 启动、关闭和运行级别(revision 1.1)
- 系统服务(revision 1.1)
- 用户/组管理(new)
- 打印管理
- 文件系统管理(revision 1.1)
- 环回设备
- 文件系统配额(revision 1.11)
- 磁盘和卷管理(revision 1.10)
- 网络管理(revision 1.11)
- 远程管理(revision 1.21)
- 内核管理
- SWAP管理(new)
- nfs(revision 1.10)
1、启动关闭和运行级别运行级别的区别
直到Solaris 9为止,solaris的启动步骤和Linux几乎没什么区别。二者都提供了运行级别(run level)的概念,每个运行级别都定义了哪些服务被启动和停止。都使用init命令在不同的运行级别间进行切换。
Linux的运行级别 | Solaris 的运行级别
| 对应的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还提供了另外两个命令,可改变系统的当前运行状态:
但需注意的是,这些命令执行时,系统不会执行正常的关闭操作,不会停止服务,仅对进程进行简单的杀掉操作,卸除文件系统然后重启或停机。建议使用init命令或shutdown命令(两个系统的shutdown命令用法略有区别),而不是reboot or halt。
shutdown命令的区别
两个系统的shutdown命令默认都是进入单用户维护模式(init 1)- Linux的shutdown选项:-r重启(init 6),-h停止系统(init 0),-F重启后执行fsck操作,-f重启后不执行任何fsck操作(快速启动)
- 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、系统服务服务的起停
- 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-name stop|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、用户/组管理默认属性
- 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=
添加新账号
- 默认会根据缺省的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有关的属性,可参见《差异概述(click)》
- Solaris还提供了smuser,smgroup命令,可对名称服务器(比如NIS)上的账号和组进行管理。这两个命令是SMC(Solaris管理控制台)的一部分。SMC是solaris提供的图形化管理控制台,用来处理各种系统管理操作。运行smc命令将提供一个图形化的控制台界面,能够管理用户账号和组。
作者保留版权,转载请注明出处,来自cu-yuhuohu.
4、打印和打印机管理绝大多数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、文件系统管理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/data
3.查看挂接列表
- Linux和solaris都可以运行不带选项的mount命令查看.还可以通过以下方式查看
- Linux# cat /etc/mtab or cat /proc/mounts
4.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
- jfs
- 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、环回设备环回设备提供了一种机制,能够把磁盘映像挂接成文件系统。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、文件系统配额常见命令
- 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
- # 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的格式
- # 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、磁盘和卷管理当新硬盘插入机器时
- 如果可以识别,Linux会自动识别并使用新硬盘。
- 而solaris即使可识别新硬盘,也必须运行devfsadm命令才可以使用新硬盘
磁盘管理
- Linux使用fdisk命令管理磁盘分区
- fdisk /dev/sda
- Linux fdisk常用指令:m帮助,p显示分区,n创建新分区,w保存
- 注意:Ubuntu如果删除分区的话,分区号会前移,比如删除/dev/sda8分区,则后面的分区号会前移,比如/dev/sda9会变成/dev/sda8,需要修改相应的mount配置(估计其他的linux也是如此)
- 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的卷管理使用pv*,vg*和lv*命令
1、创建pv、vg、lv的简要步骤
# fdisk /dev/sdb ----------LVM 2可直接使用linux分区,无需创建lvm分区
# pvcreate /dev/sdb1 ----------创建PV
# vgcreate vgnru01 /dev/sdb1 ----------创建VG
# vgchange -a y vgnru01 ----------激活VG
# vgdisplay ----------查看VG中的PE数量
# lvcreate -l 174871 -n lvnru01 vgnru01 ----------把PE分配给lv,-L指定大小,-l指定PE数量
# mkfs.ext3 /dev/vgnru01/lvnru01 ----------创建文件系统
# vi /etc/fstab ----------启动时自动挂接文件系统
/dev/vgnru01/lvnru01 /video ext3 defaults 1 2
2、查询用pvscan,vgscan,lvscan
3、显示信息:pvdisplay,vgdisplay,lvdisplay
4、逻辑卷的备份信息(backuped infomation):/etc/lvm/archive/ or /etc/lvm/backup/,可用来恢复逻辑卷
- Solaris使用元设备(metadevice)的概念进行卷管理,管理软件叫做SVM(solaris volume manager),所有的相关管理命令为meta*
可搜索论坛精华贴.
作者保留版权,转载请注明出处,来自cu-yuhuohu.
9、网络配置ifconfig命令的区别
- Redhat 9 Linux新增网卡不用运行ifconfig plumb命令可直接配置
- solaris新增的网卡需先ifconfig interface plumb
通用网络配置命令
- ifconfig 配置网络接口(配置ip地址,掩码等,Solaris需装配/卸除(plumb/unplumb)网卡才能执行其他操作,相当于redhat的ifup,ifdown命令)
- route 配置路由条目
- netstat 查看网络配置和网络连接状态信息
- ndd 查看或设置核心驱动的配置参数
Linux的网络相关配置文件
- /etc/sysconfig/network-script/ifcfg-{interface_name} 网卡参数配置文件,包括IP地址,掩码,广播地址
- /etc/sysconfig/network Redhat 9的主机名和配置缺省网关,对应solaris的/etc/nodename和/etc/defaultrouter
- /etc/hosts solaris的/etc/inet/ipnodes,/etc/hosts -> /etc/inet/hosts(链接到这个文件)
- /etc/networks solaris的/etc/networks -> /etc/inet/networks(链接到这个文件)
- /etc/netmasks Redhat 9同solaris
- /etc/nsswitch.conf Redhat 9同solaris
- /etc/resolv.conf Redhat 9同solaris
Solaris的网络相关配置文件
- /etc/hostname.[interface_name] 比如hostname.hme0,hostname.e1000g0,每个网卡一个配置文件,仅用于配置网卡的IP地址
- /etc/nodename 系统的主机名
- /etc/defaultrouter 默认路由器(缺省网关)的地址
- /etc/hosts IP地址和主机名的对应表
- /etc/netmasks 配置各种网络使用的默认掩码
- /etc/networks 为网络配置易记忆的名字(可视为网络和网络名的对应表)
- /etc/dhcp.[interface_name] 网卡使用DHCP时,存放所获得的DHCP参数的配置文件
- /etc/resolv.conf DNS客户端的配置文件,配置DNS服务的IP地址,本机所属域,搜索域等
- /etc/nsswitch.conf 名称服务选择文件,指定系统对各种不同的网络信息进行查询时分别使用哪些名称服务以及优先顺序。
当修改完网卡配置文件和网关配置后,可用以下命令让其立即生效:
solaris# svcadm restart network/physical
redhat# service network restart
10、远程管理Redhat 9采用xinetd
- telnet默认处于禁用状态。要开启它需要修改/etc/xinetd.d/telnet文件
- 启用telnet:把最后一行改成:disable = no
- 启用tcp_wrapper:xinetd.conf自带tcp_wrapper功能,在telnet文件 or /etc/xinetd.conf中的相关配置(红字为新增)
- xinetd.conf:log_on_success = HOST PID
- xinetd.conf:log_on_failure = HOST
- telnet文件:log_on_failure += USERID ATTEMPT
- 然后重启xinetd进程
- # ps -ef | grep inetd 记下当前在运行的inetd进程及参数
- # xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid 根据记录下来的命令行重启xinetd
- redhat的专用重启指令:service xinetd restart 类似于solaris 10的:svcadm restart inetd
- 查看登录日志记录:
Oct 26 16:20:01 redhat9 xinetd[2427]: START: telnet pid=2779 from=172.16.1.201
Oct 26 16:20:48 redhat9 login: FAILED LOGIN 1 FROM 172.16.1.201 FOR root, Authentication failure
新版的redhat enterprise版本可能使用kerberos5认证,要使用telnet可参考:
Solaris 9使用传统的inetd
- 所有Inetd管理的服务均在/etc/inetd.conf文件中配置
- 要禁用只需在配置条目前加#号注释掉即可
- 要启用tcp_wrapper需要去http://www.sunfreeware.com下载软件包安装,然后修改/etc/inetd.conf文件的配置条目
- ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
- telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Solaris 10使用SMF
- 内置telnet和ssh,默认处于启用状态。
- 它保持了和传统的inetd运行机制的兼容性,但推荐采用以下操作:
- 可通过SMF的svcadm or inetadm命令禁用telnet,ssh等服务
- 但solaris默認禁止root賬號使用ssh遠程登錄,要允許的話,需修改/etc/ssh/sshd_config中添加PermitRootLogin yes
- 自带tcp_wrapper功能,用inetadm or svccfg开启tcp_wrapper
- 此外还可以使用GUI界面的smc来管理远程Solaris主机
关于tcp_wrapper
- 所有的支持tcp_wrapper的系统都可以支持/etc/hosts.allow和hosts.deny文件
- 语法:daemon_list : client_list [ : shell_command ]
- hosts.deny的配置示例:in.telnetd: ALL EXCEPT LOCAL
- Solaris的相关日志/var/adm/messages
- Redhat的相关日志/var/log/secure
作者保留版权,转载请注明出处,来自cu-yuhuohu.
11、内核管理修改核心参数
两个操作系统对核心参数进行修改的操作有较大的区别。
Linux系统中
- 可能需要修改源,修改/proc中条目的运行时间,使用sysctl或加载内核模块
Solaris系统中,
- 可能需要修改/etc/system文件,加载内核模块,运行各种实用工具诸如ndd,DTrace or adb之类
/etc/system是核心参数配置文件,在系统启动时由内核加载,这个文件中的设置会影响内核的行为,包括:
- 分页(paging)
- 交换(swapping)
- 进程大小(process sizing)
- 文件系统刷新(file system flushing)
- 核心内存分配
- 作业调度
- TCP/IP参数
- 等等....
也可以强制系统在启动时加载指定的模块或设备驱动程序,传递给设备驱动程序模块的参数也可以在/etc/system文件中设定。由于/etc/system文件仅在启动时读取一次,因此对这个文件所作的任何修改都必须重启后才能生效。
加载核心模块
内核模块(kernel module)是包含核心代码的二进制文件。内容通常包括:设备驱动程序、文件系统、系统调用,一些核心层的其他功能。
这些模块有可能在OS运行期间进行加载和卸除操作。通过加载模块可修改核心功能。比如可通过加载一个(实现新文件系统)的核心模块来支持一种新的文件系统。
Solaris中与核心模块操作有关的命令
- modload 加载核心模块的命令。
- modunload从当前正在运行的内核移除一个核心模块
- modinfo 查看系统当前加载了哪些模块
Linux中与核心模块操作有关的命令
内核调整命令
有些参数可通过命令进行调整,比如ndd,可修改网络接口的行为。使用ndd可以改变网络接口的配置,比如全双工或半双工;还可以改变Solaris实现TCP/IP协议栈的方式。
adb和dtrace工具可以在系统运行时直接修改内核参数(不像/etc/system需要重启才能生效),这些修改将立即生效。因此使用时要非常小心,一旦出错会使内核产生致命的错误,导致系统崩溃。
详见docs.sun.com:
12.SWAP管理Linux的SWAP
- fdisk创建一个分区,然后用t指令把分区类型调整为Linux SWAP(0x82)
mkswap -c /dev/sdb2
swapon /dev/sdb2
cat /proc/swaps
cat /proc/meminfo
- 在自动挂接文件中指定使用新SWAP分区,/etc/fstab文件中的相关内容(红字为新增):
/dev/sda3 swap swap defaults 0 0
/dev/sdb2 swap swap defaults 0 0
swapoff /dev/sdb2
[root@redhat root]# dd if=/dev/zero of=/swapfile bs=1024 count=8192
读入8192+0个块¸每块大小为1024字节
输出8192+0个块¸
[root@redhat root]# mkswap /swapfile 8192
Setting up swapspace version 1, size = 8384 kB
[root@redhat root]# sync
[root@redhat root]# swapon /swapfile
[root@redhat root]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 1044216 0 -3
/dev/sdb2 partition 506036 0 -4
/swapfile file 8184 0 -5
Solaris的SWAP空间管理
- 用format创建SWAP分片,然后编辑/etc/vfstab文件,加入以下条目
# vi /etc/vfstab
/dev/dsk/c1t0d0s1 - - swap - no -
- 除了编辑/etc/vfstab文件外,也可用swap命令临时在线添加一个分片作为交换空间使用。
# swap –a /dev/dsk/c1t0d0s3
1.制造一个100m的文件
# mkfile 100m/export/home/swapfile100m
2.把上面新建的文件作为交换空间的一部分
# swap -a/export/home/swap*
3.验证新的交换空间情况
# swap -s
总数:分配了 226672k 字节 + 保留 32512k = 已使用 259184k,590284k 可用
# swap -l
4.保存结果
编辑/etc/vfstab文件,加入以下条目,每次重启系统都会自动把交换文件作为交换空间使用
/export/home/swapfile100m - - swap - no -
# swap -d/dev/dsk/c1t1d0s1
# swap -d/export/home/swap*
# rm/export/home/swapfile100m
注:必须注意swap -s和-l这两个选项的区别。-s列出所有的虚拟交换空间(包括物理内存部分),-l仅列出物理交换设备(交换分片或交换文件)
作者保留版权,转载请注明出处,来自cu-yuhuohu.
13.网络共享NFS
Linux使用传统的exportfs机制
- 配置共享目录:输出目录配置在/etc/exports文件中,no_root_squash表示不把root账号映射成匿名账号(注2)
/home 172.16.1.0/24(rw,sync,no_root_squash) *(ro,sync)
- 输出共享目录:运行exportfs命令把/etc/exports文件中的配置输出成NFS共享目录
- 启动NFS服务:/etc/init.d/portmap start 和/etc/init.d/nfs start,如果修改了/etc/exports配置需重启nfs:service nfs restart
- 查看共享目录:showmount -e or exportfs
- 查看共享属性:cat /var/lib/nfs/etab
Solaris采用较新的分布式文件系统机制
- 输出目录配置在/etc/dfs/dfstab文件中,或者直接运行share命令,配置内容格式如下,anon=0表示不进行匿名账号映射(注2):
share -F nfs -o rw,anon=0 -d "home dirs" /export/home
share -o ro/usr/share/man
- 输出共享目录:share,shareall
- 启动NFS服务:solaris9:/etc/init.d/nfs.server start solaris10:svcadm enable svc:/network/nfs/server
- 查看共享目录:showmount -e or dfshares
- 查看共享属性:cat /etc/dfs/sharetab
- 其他命令:dfmounts
在不同系统间使用NFS时需要注意版本问题,比如Solaris10,redhat AS5默认使用NFS v4协议。
- Solaris 10的NFS客户端在尝试挂接NFS资源时,会先使用客户端能支持的最高版本,然后依次降低版本直至和服务器取得一致。比如Solaris 10的NFS客户机会先使用NFSv4,不成功就v3,然后v2
- 从solaris挂接来自redhat的共享资源命令示例:
Solaris 10# mount nfs://redhat/home /mnt/redhat
注1:nfs客户端对共享资源的读写权限取决于三点:服务器端目录的权限、服务器端的共享权限,客户端挂接时采用的ro or rw选项
注2:nfs的默认共享选项比较适合ro共享,要rw共享,建议采用uid,gid的一一映射而不是映射成匿名用户的uid和gid
作者保留版权,转载请注明出处,来自cu-yuhuohu.
[ 本帖最后由 yuhuohu 于 2009-12-7 09:32 编辑 ] |
|