Posts Tagged Unix
Solaris连锁故障
公司有一台服务器,属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。
且说这天需要重启,重启后无法通过ssh连接,通过串口终端连上之后发觉由于之前习惯于ssh key登录,一直没有root密码。郁闷中。
用SSH Tunnel穿越防火墙
这次接上篇。
很多企业对互联网的访问进行了限制,如何突破防火墙的限制成了一个问题。本文就是利用了SSH tunnel搭建了socket5代理。
首先,申请一个外网的ssh帐户,个人建议使用http://www.unix-center.net/提供的免费资源,该网站还提供多种平台主机可供测试之用,非常不错!当然,如果可以使用密钥方式登录那就完美了。
用ssh tunnel打造安全邮件系统
近期,甚至于连Google这样的企业也感觉到了邮件系统的安全问题。这里采用了相对实现成本较低的方式,通过ssh的tunnel达到邮件在传输的过程中不会受到中间人攻击造成数据泄露。
故名思义,tunnel就是在邮件服务器和企业防火墙之后设置一条逻辑上的隧道。这条隧道一方面为了数据安全,另一方面,由于ssh的压缩功能也能在一定程度上减少邮件这类纯文本传输的网络需求。
先决条件:
- Unix like的邮件系统,并安装了ssh-server,本例中假定邮件服务器ip为1.2.3.4
- 企业路由器和内网:路由最好有vpn和防火墙功能。
- 内网的 一台主机,配置不必太高(我用了虚拟机,64M内存已经足够近百人使用),安装有ssh-client,如果是win主机,推荐使用putty的安装版本。经过测试,个人觉得FreeBSD下的性能较好。考虑到安全,这台主机尽量不要安装远程控制台并尽可能上锁。本例假定ip 192.168.1.1。
- 注意整个系统的安全策略,账户策略等,相比中间人攻击这样的“高级”黑客行为,破解密码,利用漏洞永远是成本最低的方法。
关于vmstat
上次谈了load average ,这是一个反应CPU资源利用状况的命令。现实情况下,特别是现在CPU疯狂便宜的时代,对于一个服务器往往不见得是CPU吃紧,这次就来讲讲相对反应整体状况的vmstat命令。
以本人的Freebsd为例,其余的系统类似,直接套用就Ok了。
WWW# vmstat
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr da0 pa0 in sy cs us sy id
0 0 0 738M 108M 957 30 38 0 1226 72 0 0 1782 983 922 2 6 92 Read the rest of this entry »
Sun的身前身后事
最近业界的有个传闻很引人注意,那就是IBM正在与Sun进行收购谈判。最终结果如何都是大家期待的。一代枭雄的Sun再也支撑不住,似乎大厦将倾了……
当大家都在关注Sparc平台,Java中间件,Solaris操作系统以及一大堆应用的何去何从时,业界的另一个比较有趣的话题逐渐的浮出水面–作为Java下的应用,同时又是IBM竞争对手的Oracle和SAP是否还会继续支持Java?选择继续无疑于与虎谋皮;选择放弃Java,拜托,这么多的客户岂不是要倒戈?
关于 load average
很多人都知道uptime命令会得到如下的返回:
12:00:59 up 20:24, 1 user, load average: 0.49, 1.40, 1.61
其中的load average根的3个数字,分别表示系统在1分钟,5分钟和15分钟的平均负载情况。这个数字是系统每5秒钟会自动检测一下活跃的进程数量(即top命令看到的n running),然后得出结果。具体感兴趣的话可以研究下Linux内核中include/linux/sched.h, kernel/timer.c,fs/proc/proc_misc.c
所谓活跃的进程,需要满足:
- 没有被终止或者正在调用wait。
- 不是正在等待I/O操作。
很多网上说这个数字除上CPU的数量如果得到的结果大于5就说明系统在超负荷运转。对于这个结论本人持保留意见。
- 对于双核或者多核的CPU,如果按照1个CPU来计算,那么明显的状况就是对于多核心的不公。如果按照多个CPU来计算,那又是对于多路CPU,甚至是独享内存总线多CPU的不公。对于基于HT技术的“假多核”更是如此。
- 对于不同平台的CPU而言,目前公认的是X86架构“不耐压”,特别在于高并发的情况下。本人明显觉得SPARC的架构相比X86在压缩同一个文件的时间更长;但是同时进行多个压缩的时候Sparc的平台占有绝对优势。
- 与IO关系不够紧密,很多情况下,最容易制约系统的是IO,特别是现在正处在“运算不值钱,储存值钱”的时代。
- 超负荷的界定:有的系统,在1.5的情况下已经能够感到明显的延时;同样有的系统在10以上还能迅速响应。
Sun v245的硬RAID
Sun的215和245除了支持传统上的软RAID之外,新增了硬RAID功能。不过话说回来,这种价位上的服务器,不支持硬RAID的似乎也太抠门了。
本文以崭新的机器作为例子,如果不是新机器——建议不要乱来。
一、先期准备:
新的机器一般都没有系统,直接开机即可进入OK模式(OK提示符)
setenv fcode-debug? true
setenv auto-boot? false
reset-all
机器重启以便生效,否则之后将会出现This must be fixed immediately using set-sas-wwid 的提示。
二、初始化磁盘
我的机器disk配置如下:
{0} ok show-disks
a) /pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1/disk
b) /pci@1e,600000/pci@0/pci@1/pci@0/ide@1f/cdrom
c) /pci@1e,600000/pci@0/pci@1/pci@0/ide@1f/disk
q) NO SELECTION
Enter Selection, q to quit:
{o}ok select /pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1 //选择磁盘通道
三、创建RAID卷
{1} ok show-volumes
No volumes to show
目前还没有RAID卷存在
{1} ok probe-scsi-all //查看ID
/pci@1e,600000/pci@0/pci@a/pci@0/pci@8/scsi@1
MPT Version 1.05, Firmware Version 1.08.04.00
Target 0
Unit 0 Disk FUJITSU MAY2073RCSUN72G 0501 143374738 Blocks, 73 GB
SASAddress 500000e01496c622 PhyNum 0
Target 1
Unit 0 Disk FUJITSU MAY2073RCSUN72G 0501 143374738 Blocks, 73 GB
SASAddress 500000e01496fa32 PhyNum 1
Target 2
Unit 0 Disk SEAGATE ST914602SSUN146G0603 286739329 Blocks, 146 GB
SASAddress 5000c5000cac86fd PhyNum 2
Target 3
Unit 0 Disk SEAGATE ST914602SSUN146G0603 286739329 Blocks, 146 GB
SASAddress 5000c5000cac00c5 PhyNum 3
注:如果出现ERROR: /pci@1e,600000: Last Trap: Fast Data Access MMU Miss报错,您可能需要执行
{1}ok reset-all
{1} ok 0 1 create-im-volume //注意:“反向”命令
Target 0 size is 143243264 Blocks, 73 GB
Target 1 size is 143243264 Blocks, 73 GB
The volume can be any size from 1 MB to 69943 MB
What size do you want? [69943]
Volume size will be 143243264 Blocks, 73 GB
PhysDisk 0 has been created for target 0
PhysDisk 1 has been created for target 1
Volume has been created
{1} ok 2 3 create-im-volume
Target 2 size is 286607360 Blocks, 146 GB
Target 3 size is 286607360 Blocks, 146 GB
The volume can be any size from 1 MB to 139945 MB
What size do you want? [139945]
Volume size will be 286607360 Blocks, 146 GB
PhysDisk 2 has been created for target 2
PhysDisk 3 has been created for target 3
Volume has been created
创建了2个Raid1卷,Raid 0 卷则用create-is-volume命令
{1} ok show-volumes
Volume 0 Target 0 Type IM (Integrated Mirroring)
Degraded Enabled Resync In Progress
2 Members 143243264 Blocks, 73 GB
Disk 0
Primary Online
Target 4 FUJITSU MAY2073RCSUN72G 0501
Disk 1
Secondary Online Out Of Sync
Target 1 FUJITSU MAY2073RCSUN72G 0501
Volume 1 Target 2 Type IM (Integrated Mirroring)
Degraded Enabled
2 Members 286607360 Blocks, 146 GB
Disk 2
Primary Online
Target 5 SEAGATE ST914602SSUN146G0603
Disk 3
Secondary Online Out Of Sync
Target 3 SEAGATE ST914602SSUN146G0603
搞定!
四、删除磁盘
{1}ok 0 delete-volume
The volume and its data will be deleted
Are you sure (yes/no)? [no] yes
Volume 0 has been deleted
将磁盘0删除
五、重启
setenv fcode-debug?false
setenv auto-boot? true
reset-all
安装操作系统和应用程序。部署完毕!
虚拟化
上次刚刚提及了MS的虚拟主机服务器,这次我不得不用它来上生产系统了,比较郁闷。
可能细心的朋友已经发现了,近期网站的速度慢到了几乎无法访问的程度。由于种种不可控制的原因,原来本站的服务器可能永远的停机了,目前的网站运行在了一台虚拟主机之上。由于空间原因,目前暂时停止软件下载。等待litrin找到新的空间后,一切将恢复正常。
同时,向业内的朋友求救!本站急需空间,要求如下:
- > PHP 4.6 with gd
- (最好是)pgsql8.1 或 mysql
- 尽可能大的磁盘空间和尽可能大的网络带宽。
如果有此资源的朋友可以跟我联系。
启用Solaris的tomcat
网上很多文档对于solaris的tomcat环境都是重新编译或者重新安装的,其实solaris的系统本身并不希望你在上面做太多的编译操作,而作为tomcat这种java应用,其实solaris本身已经自带了一个。
察看系统是否安装了apache和tomcat
pkginfo| grep SUNWtcatr
pkginfo | grep SUNWapchr
如果有的话
cd /etc/apache
cp httpd.conf-example httpd.conf
vi httpd.conf
include /etc/apache/tomcat.conf #应该是在最后一行,去掉注视
cd /var/apache/tomcat/conf
cp server.xml-example server.xml
OK了
启动
/etc/rc3.d/S50apache stop
/etc/rc3.d/S50apache start // 第一次restart似乎无效
svcadm enable apache
免费的unix测试机
今天收到了一封来自Gceclube的电子邮件,邀请我注册以获得一个远程Solaris服务器的测试帐户,注册地址如下:
注册之后,就可以用putty这类的工具访问远程主机了。有需要的朋友去注册了,据说6月30日之前注册的用户还有机会抽奖。



最近评论