星期一 2008年01月21日
Solaris桌面环境的禁用
如果将Solaris作为服务器使用,启用桌面没有意义,还占用资源,可以使用dtconfig命令来禁用。
/usr/dt/bin/dtconfig -d
dtconfig用法:
CDE 配置公用程序
./dtconfig -d (禁用自动启动)
./dtconfig -e (允许自动启动)
./dtconfig -kill (终止 dtlogin)
./dtconfig -reset (复位 dtlogin)
./dtconfig -p (打印机动作更新)
./dtconfig -inetd (inetd.conf /usr/dt 守护程序)
./dtconfig -inetd.ow (inetd.conf /usr/openwin 守护程序)
Posted at 10:10下午 一月 21, 2008 by 孙悟空 in 操作系统 | 评论[0]
星期二 2008年01月08日
非常感谢FreeBSD
第一次亲自安装的UNIX就是FreeBSD,那时候Solaris还没有开源。FreeBSD确实开源的,随时都可以下载安装,重要的是还有中文手册,使用我们平常的PC机就可以了,不像其它的UNIX高高在上,PC上根本没法装。能够在自己的机器上联系unix命令那是非常高兴的事,能够快速熟悉unix系统。FreeBSD的性能还是相当不错的,主要用来做web服务器或者邮件服务器,跑PHP没问题,当然还有MySQL数据库。后来只是由于其受java许可的限制,java的支持一直比较慢,即使现在java开源了,相应的jdk版本更新也不是很快。本人是专注java的,没办法,后来听说Solaris开源了,就转到Solaris了。不过无论如何都感谢FreeBSD,她是我unix的初恋。




Posted at 04:29下午 一月 08, 2008 by 孙悟空 in 操作系统 | 评论[0]
Solaris10上交换空间(swap)的管理
添加裸分区到swap空间
添加一个裸交换分区,你需要在系统上执行如下的步骤:
1. 确定一个空的磁盘分区.
2. 在/etc/vfstab中添加一条记录,把裸分区作为一个交换分区:
/dev/dsk/c0t1d0s0 - - swap - no -
3. 执行下面的命令,启用这个交换分区:
#swap -a /dev/desk/c0t1d0s0
4. 使用下面的命令查看交换分区的情况:
#swap -l
添加文件系统到swap
Solaris支持使用文件来增加交换空间。把一个文件添加到交换空间你需要执行如下步骤:
1. 使用mkfile创建一个文件:
#mkfile 250m /opt/myswapfile
这里创建了一个250M的文件。
2. 为了使用这个交换文件,执行如下命令:
#swap -a /opt/myswapfile
3. 检查变化:
#swap -l
提示: 为了在下次系统启动后也使用这个交换文件,你需要在/etc/vfstab添加如下记录:
/opt/swapfile - - swap - no -
禁用交换空间
Solaris OS提供了在系统运行时禁用一个交换文件的能力。使用swap命令的-d选项。所有已经分配的块被拷贝到其它交换区域。
solaris# swap -d /opt/myswapfile
检查变化:
solaris# swap -l
监视交换空间
为交换空间配置合适的大小是很重要的: 太小会影响性能,太大会浪费磁盘空间。
如果物理内存不够用,Solaris会使用swap空间。这叫做分页。
这里是一个交换空间的概要:
solaris#swap -s
total: 3500744k bytes allocated + 3048720k reserved = 6549464k used,
23869824k available
这里是交换空间包含的设备或者文件:
solaris#swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d1 85,1 16 41945456 41945456
如果你的交换空间不够用,你会看到如下的错误信息:
Not Enough Space
or
WARNING /tmp: File system full, swap space limit exceeded
查看运行的系统是否物理内存不足,可以使用vmstat 和 iostat。
solaris#vmstat
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 24137360 6421168 70 179 21 14 14 0 0 0 0 0 0 472 3363 1776 4 2 94
0 0 0 23869912 5953040 11 13 0 0 0 0 0 0 0 0 0 430 1071 1545 7 1 92
0 0 0 23870896 5953904 58 313 0 2 2 0 0 0 0 0 0 578 2369 1798 20 1 78
0 0 0 23874712 5957216 11 11 0 0 0 0 0 0 0 0 0 417 1325 1648 0 0 100
0 0 0 23874744 5957248 22 64 0 3 3 0 0 0 0 0 0 423 1578 1629 1 2 97
在vmstat输出中查看列sr (Scan Rate)。
solaris#iostat -Pxn
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.1 2.7 1.1 5.6 0.0 0.1 0.2 25.5 0 2 c1t0d0s0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.7 0 0 c1t0d0s1
0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 0 0 c1t0d0s2
在iostat的输出中看r/s 和 w/s c列,如果这些值高,意味着为了释放空间产生了大量的I/O操作。
如果物理内存太小,系统会频繁地使用交换设备而产生大量的I/O操作。在这个状态下,CPU的使用率也会增加。所以应该增加物理内存了。
Posted at 11:58上午 一月 08, 2008 by 孙悟空 in 操作系统 | 评论[0]
在Solaris10上按部就班地创建一个区域
这是一个使用Solaris容器技术创建区域的一个简单指南,例子使用了SVM(Solaris卷管理器)和一个Oracle数据库。可以很简单地修改这些步骤添加更多的文件系统到脚本中。
提示: 在这个例子中, 我仅创建了一个区域(zone), 名字为zone1. 我在步骤2和3中使用了SVM,并测试了Oracle 10.1 和 10.2。
1. 格式化硬盘的片0(slice 0).
2. 创建虚拟设备(meta devices). 例如, 我有三个SAN磁盘, 我想使用三个磁盘串联创建一个虚拟设备。
# metainit d60 3 1 c2t50060E800456EE02d0s0 1 c2t50060E800456EE02d1s0
1 c2t50060E800456EE02d2s0
d60: Concat/Stripe is setup
3. 创建软分区:
# metainit d61 -p d60 6g
d61: Soft Partition is setup
# metainit d62 -p d60 10g
d62: Soft Partition is setup
# metainit d63 -p d60 30g
d63: Soft Partition is setup
#
4. 创建文件系统:
# newfs /dev/md/rdsk/d61
newfs: construct a new file system /dev/md/rdsk/d61: (y/n)? y
# newfs /dev/md/rdsk/d62
newfs: construct a new file system /dev/md/rdsk/d62: (y/n)? y
# newfs /dev/md/rdsk/d63
newfs: construct a new file system /dev/md/rdsk/d63: (y/n)? y
#
5. 为根文件系统(/ fs)和Oracle数据库的 /u00 /u01创建挂载点。
mkdir -p /export/zone1
mkdir /u00
mkdir /u01
mount /export/zone1
6. 执行下面的脚本, 它的详细内容在步骤11后面。
zonecfg -z zone1 -f /usr/scripts/make.zone1.ksh
# zoneadm list -cv
ID NAME STATUS PATH
0 global running /
- zone1 configured /export/zone1
# chmod 700 /export/zone1
7. 安装zone1:
# zoneadm -z zone1 install
Preparing to install zone <zone1>.
Checking <ufs> file system on device </dev/md/rdsk/d62>
to be mounted at </export/zone1/root>
Checking <ufs> file system on device </dev/md/rdsk/d63>
to be mounted at </export/zone1/root>
Creating list of files to copy from the global zone.
Copying <124550> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1021> packages on the zone.
Initializing package <49> of <1021>: percent complete: 4%
8. 运行下面的命令查看区域状态:
# zoneadm list -cv
ID NAME STATUS PATH
0 global running /
- zone1 installed /export/zone1
9. 运行下面的命令把区域的状态改为ready:
# zoneadm -z zone1 ready
10. 使用下面的命令查看区域状态:
# zoneadm list -cv
ID NAME STATUS PATH
0 global running /
1 zone1 ready /export/zone1
11. 启动区域:
# zoneadm -z zone1 boot
/usr/scripts/make.zone1.ksh脚本的详细内容:
create -b
set zonepath=/export/zone1
set autoboot=true
add fs
set dir=/u00
set special=/dev/md/dsk/d62
set raw=/dev/md/rdsk/d62
set type=ufs
end
add fs
set dir=/u01
set special=/dev/md/dsk/d63
set raw=/dev/md/rdsk/d63
set type=ufs
end
add net
set address=10.11.33.144
set physical=ce2
end
Posted at 10:41上午 一月 08, 2008 by 孙悟空 in 操作系统 | 评论[0]
Tomcat下配置虚拟主机
Tomcat下配置虚拟主机非常简单,只需增加Host元素就可以了,让我们来看看server.xml中默认的localhost主机的定义部分:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
这部分就是定义了一个名称为“localhost”的主机,程序根目录是%Tomcat%\webapps,这里的webapps是相对于Tomcat的安装目录的,是相对路径。明白了这些在定义一个主机就是很简单的事了,例如定义一个localhosta的主机:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="localhosta" appBase="D:/hosts/localhosta"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
此处的D:/hosts/localhosta目录的作用和%Tomcat%\webapps目录是相同的,你可以在里面创建默认的ROOT目录,并在其下放置程序就可以了,当然你也可以布置其它的应用。
为了测试这个localhosta主机,你需要修改%Windows%(Windows安装目录)\system32\drivers\etc\hosts文件,用记事本打开就可以。添加一个localhosta的主机名:
127.0.0.1 localhost
127.0.0.1 localhosta
红色文字为新添加的内容,现在打开浏览器,在地址栏输入 http://localhosta:8080 就可以访问你的新虚拟主机localhosta 。怎么样,简单吧。
Posted at 08:36上午 一月 08, 2008 by 孙悟空 in 操作系统 | 评论[0]