<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>IT工作手册</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.liaojl.com/atom.xml" />
    <id>tag:www.liaojl.com,2011-01-06://1</id>
    <updated></updated>
    <subtitle>工作与学习的心得、体会。记录一些技术细节和方法技巧，方便随时查阅。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.04</generator>

<entry>
    <title>DropBox空间扩容到22G - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/05/dropbox-to-22g.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.303</id>

    <published>2012-05-08T04:20:10Z</published>
    <updated>2012-05-08T06:52:57Z</updated>

    <summary>之前写了一篇几个常用网盘的比较，最近得知DropBox在Google Drive推出后，提升了免费扩容的空间到21G，看上去还是非常给力，而且通过 https://www.dropbox.com 访问网站并未被墙，网盘虽然速度一般，不过还算稳定。 每个注册用户可以获得2G空间，如果你是接受别人邀请方式注册，那么会额外赠送500M空间，这里是邀请链接： http://db.tt/T6wBVwf -- Dropbox下载链接好像被墙，我在DBank上面放了一个下载链接： http://dl.dbank.com/c08pbmqlxo 完成DropBox任务可以获赠额外的空间1G空间。 Getting Started: https://www.dropbox.com/gsCamera Get extra space free!: https://www.dropbox.com/free 最近刚推出的上传相册送空间活动，首次上传赠送500M空间，用完500M容量后赠送额外500M空间，目前最高可以赠送3G容量。 Camera Uploads: https://www.dropbox.com/help/287 最后就是通过邀请方式获得空间，你每成功邀请一个用户，会获得赠送500M空间的奖励，最高可以获得16G空间。你登录以后，可以看到Get free space!的链接，点击链接后，在Invite friends from Facebook or Twitter下面可以看到你的邀请链接。 Always have your stuff when you need it with @Dropbox....</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>之前写了一篇几个常用网盘的比较，最近得知DropBox在Google Drive推出后，提升了免费扩容的空间到21G，看上去还是非常给力，而且通过 <a href="https://www.dropbox.com">https://www.dropbox.com</a> 访问网站并未被墙，网盘虽然速度一般，不过还算稳定。</p>

<p>每个注册用户可以获得2G空间，如果你是接受别人邀请方式注册，那么会额外赠送500M空间，这里是邀请链接： <a href="http://db.tt/T6wBVwf">http://db.tt/T6wBVwf</a></p>

<p>-- Dropbox下载链接好像被墙，我在DBank上面放了一个下载链接： <a href="http://dl.dbank.com/c08pbmqlxo">http://dl.dbank.com/c08pbmqlxo</a></p>

<p>完成DropBox任务可以获赠额外的空间1G空间。</p>

<p>Getting Started:  <a href="https://www.dropbox.com/gs">https://www.dropbox.com/gsCamera</a><br />
Get extra space free!: <a href="https://www.dropbox.com/free">https://www.dropbox.com/free</a></p>

<p>最近刚推出的上传相册送空间活动，首次上传赠送500M空间，用完500M容量后赠送额外500M空间，目前最高可以赠送3G容量。</p>

<p>Camera Uploads: <a href="https://www.dropbox.com/help/287">https://www.dropbox.com/help/287</a></p>

<p>最后就是通过邀请方式获得空间，你每成功邀请一个用户，会获得赠送500M空间的奖励，最高可以获得16G空间。你登录以后，可以看到Get free space!的链接，点击链接后，在Invite friends from Facebook or Twitter下面可以看到你的邀请链接。</p>

<p>Always have your stuff when you need it with @Dropbox. Sign up for free! <a href="http://db.tt/T6wBVwf">http://db.tt/T6wBVwf</a></p>

<p>将邀请链接发给你的朋友，每注册并成功安装客户端后，你将会获得500M空间的奖励。如果你觉得邀请朋友太麻烦，淘宝上面搜索Dropbox，花6块钱左右就可以完成32个邀请任务获得16G的奖励。</p>

<p>当你完成上面所有步骤，你将会获得一个2G+1G+3G+16G=22G容量的网盘，不错吧。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Error: Failed to connect ethernet0 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/04/error-failed-to-connect-ethernet0.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.302</id>

    <published>2012-04-09T06:26:26Z</published>
    <updated>2012-04-09T06:51:43Z</updated>

    <summary><![CDATA[今天收到有用户报告，说新装的虚拟机拿不到IP地址。进入虚拟机后查看，发现网卡都没有认出来。因为是CentOS Linux系统，而且虚拟机是从别处拷贝过来的，首先怀疑是不是网卡驱动有问题。 查看了一下，虚拟机使用的是E1000的网卡类型，查看网卡驱动： # lsmod | grep e1000 e1000 161365 0 网卡驱动看来没有问题，再次查看虚拟机配置时，发现网卡 Device Status -&gt; Connected 并没有勾上，说明网卡并没有连接，将Connected勾选上，按确定重新配置。过了一会再次打开网卡配置页，发现Connected还是没有勾上，查看虚拟机配置时，发现以下出错信息： Message from myesx.mydomain.com: Failed to connect ethernet0...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="虚拟化 | 云计算" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>今天收到有用户报告，说新装的虚拟机拿不到IP地址。进入虚拟机后查看，发现网卡都没有认出来。因为是CentOS Linux系统，而且虚拟机是从别处拷贝过来的，首先怀疑是不是网卡驱动有问题。</p>

<p>查看了一下，虚拟机使用的是E1000的网卡类型，查看网卡驱动：</p>



<pre>
# lsmod | grep e1000
e1000             161365        0
</pre>



<p>网卡驱动看来没有问题，再次查看虚拟机配置时，发现网卡 Device Status -&gt; Connected 并没有勾上，说明网卡并没有连接，将Connected勾选上，按确定重新配置。过了一会再次打开网卡配置页，发现Connected还是没有勾上，查看虚拟机配置时，发现以下出错信息：</p>



<pre>
Message from myesx.mydomain.com: Failed to connect ethernet0
</pre>]]>
        <![CDATA[<p>尝试删除网卡并重新添加网卡，问题依旧。不过将虚拟机移动到其它服务器，却并没有这个问题，能够正常连接到网络。所以问题应该出在这台ESX服务器上。这台ESX服务器上有多块网卡，所以重新添加了另外一个vSwitch1，将虚拟机连接到新的VM Network 2，发现可以正常访问网络。</p>

<p>查看原来vSwitch0和VM Network时发现，这台ESX上面同时开了二十几台虚拟机，是不是vSwitch本身连接虚拟机到达了上限。查看vSwitch属性后发现，默认vSwitch只有24 Ports，所以如果同时有超过24台虚拟机运行，那么后面的虚拟机就不能连接到vSwitch了。</p>

<p>找到原因以后，有两个解决方法，一、将vSwitch Port扩大，最多可以支持4088个Port。二、建一个新的vSwitch，将虚拟机的网络分散到两个vSwitch上面。</p>]]>
    </content>
</entry>

<entry>
    <title>试用各大厂商网络硬盘手记 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/net-disk-eva.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.301</id>

    <published>2012-03-30T06:18:34Z</published>
    <updated>2012-03-30T07:12:24Z</updated>

    <summary>最早一直使用国外的DropBox和微软的Skydrive/Mesh Live来做为网络备份，不过DropBox在国内已经被墙掉了，客户端虽然可以使用，不过也才2G容量，最大能扩展到8G。另外一直使用的Skydrive不支持客户端同步，只有备份照片看起来还算方便。Mesh只能用来同步，与Windows系统集成度比较高，不过看起来还是一个实验中的产品，不算是真正的网盘。 国外云存储做的比较早，技术相对成熟，目前比较流行的云存储有： DropBox：2~8GB免费容量，大名鼎鼎的云存储厂商，不过国内被墙，使用起来不是太方便。 SugarSync：和DropBox类似的产品，不过没有太多特色。 Amazon cloud drive：5GB免费容量，DropBox是构建在Amazon S3之上的，所以Amazon自己的云存储还是很给力的。 iCloud：5GB免费容量，苹果控专享，只能上传照片和音乐。 Skydrive：25GB的容量还是很给力，不过单个文件限制100MB。 Google Drive：据说将于4月的第一个星期推出。 国内厂商似乎看到国外巨头们还没开始占据国内市场，最近各大互联网巨头争相推出了网络硬盘，初始容量从5G到15G不等，国内云存储时代似乎已经来临了。 国内做云存储的厂商很多，不过毕竟是保存自己的关键数据，所以我主要挑选了几个国内知名公司的网盘来测试： 名称初始容量最大免费容量单文件限制速度评价华为网盘5G30G200M很快容量较少金山网盘5G20G300M一般容量较少百度网盘15G暂无1G公测非常快看正式版是否能维持速度迅雷随身盘5G5G无一般不成熟115网盘15G暂无100M一般单文件限制太小 总体来说，国内网盘还不是太成熟，对于免费用户限制也比较多，不过因为网络IDC都在国内，所以相对来说速度比国外的网盘快。我选择了华为、金山和百度的网盘继续试用，希望随着版本的更新，会做的越来越好。...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>最早一直使用国外的DropBox和微软的Skydrive/Mesh Live来做为网络备份，不过DropBox在国内已经被墙掉了，客户端虽然可以使用，不过也才2G容量，最大能扩展到8G。另外一直使用的Skydrive不支持客户端同步，只有备份照片看起来还算方便。Mesh只能用来同步，与Windows系统集成度比较高，不过看起来还是一个实验中的产品，不算是真正的网盘。</p>

<p>国外云存储做的比较早，技术相对成熟，目前比较流行的云存储有：</p>

<ul>
<li>DropBox：2~8GB免费容量，大名鼎鼎的云存储厂商，不过国内被墙，使用起来不是太方便。</li>
<li>SugarSync：和DropBox类似的产品，不过没有太多特色。</li>
<li>Amazon cloud drive：5GB免费容量，DropBox是构建在Amazon S3之上的，所以Amazon自己的云存储还是很给力的。</li>
<li>iCloud：5GB免费容量，苹果控专享，只能上传照片和音乐。</li>
<li>Skydrive：25GB的容量还是很给力，不过单个文件限制100MB。</li>
<li>Google Drive：据说将于4月的第一个星期推出。</li>
</ul>

<p>国内厂商似乎看到国外巨头们还没开始占据国内市场，最近各大互联网巨头争相推出了网络硬盘，初始容量从5G到15G不等，国内云存储时代似乎已经来临了。</p>

<p>国内做云存储的厂商很多，不过毕竟是保存自己的关键数据，所以我主要挑选了几个国内知名公司的网盘来测试：</p>

<table class="fig" cellspacing="0"><tr style="color:blue"><th>名称</th><th>初始容量</th><th>最大免费容量</th><th>单文件限制</th><th>速度</th><th>评价</th></tr><tr style="color:green"><td>华为网盘</td><td>5G</td><td>30G</td><td>200M</td><td>很快</td><td>容量较少</td></tr><tr style="color:green"><td>金山网盘</td><td>5G</td><td>20G</td><td>300M</td><td>一般</td><td>容量较少</td></tr><tr style="color:green"><td>百度网盘</td><td>15G</td><td>暂无</td><td>1G</td><td>公测非常快</td><td>看正式版是否能维持速度</td></tr><tr style="color:green"><td>迅雷随身盘</td><td>5G</td><td>5G</td><td>无</td><td>一般</td><td>不成熟</td></tr><tr style="color:green"><td>115网盘</td><td>15G</td><td>暂无</td><td>100M</td><td>一般</td><td>单文件限制太小</td></tr></table>

<p>总体来说，国内网盘还不是太成熟，对于免费用户限制也比较多，不过因为网络IDC都在国内，所以相对来说速度比国外的网盘快。我选择了华为、金山和百度的网盘继续试用，希望随着版本的更新，会做的越来越好。</p>]]>
        <![CDATA[<p><br /></p>]]>
    </content>
</entry>

<entry>
    <title>与垃圾评论的斗争：启用reCAPTCH - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/mt-recaptch-setup.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.300</id>

    <published>2012-03-27T07:18:51Z</published>
    <updated>2012-03-28T06:49:27Z</updated>

    <summary><![CDATA[最近一个月没注意看评论，今天看了一下居然有四千多条，打开以后几乎全部是垃圾评论。虽然在MT中启用了Anti-SPAM的机制，只档掉了一千多条，俘获率才20%。看来MT自带的CAPTCH机制估计被破解了，大量的垃圾评论被发了进来。 目前看来抵御SPAM评论的方法主要有两种： 通过Anti-SPAM软件来过滤。 通过CAPTCH来阻止机器人发布评论。 实际用下来，Anti-SPAM机制的命中率并不高，而且即使想办法提高命中率，还是需要花费大量的时间处理漏网之鱼。所以使用比较强力的CAPTCH工具看来是一个比较可行的方法。 CMU设计了一个名叫reCAPTCHA的强大系统，目前这个项目已经被Google收购了，并免费向公众开发使用。reCAPTCHA至今还没有被证实破解，并且reCAPTCHA本身是提供在线服务，因此我们完全可以放心将于SPAM的斗争交给Google来处理。 启用reCAPTCHA功能以后，每次发布评论时，CAPTCHA会显示两个单词让人来识别，其中一个是需要用户识别的难认词，另外一个是答案已知的真正的CAPTCHA 词。软件将能够正确识别CAPTCHA 词的用户看作是人类，这样可以非常有效的防止机器人发布垃圾评论。 在MT中安装并启用reCAPTCHA的步骤： 访问 reCAPTCHA 网站，注册你的站点以后获得公钥和私钥（public and a private key）。 下载 reCAPTCHA for MT ，将压缩包中的reCaptcha/整个目录复制到$MT_HOME/plugins/目录中。 在后台管理界面中打开Tools -&gt; Plugins，选中reCAPTCHA，在Setting中输入刚才从reCAPTCHA 拿到的公钥和私钥，然后保存设置。 在后台管理界面中打开Settings -&gt; Feedback，将CAPTCHA Provider设置为 reCaptcha，然后保存设置。 在后台管理界面中打开Design -&gt; Templates， 打开编辑"Comment Form"模板，找到 &lt;div id=&quot;comments-open-captcha&quot;&gt;&lt;/div&gt; 将其修改为： &lt;mt:If...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="网站建设" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>最近一个月没注意看评论，今天看了一下居然有四千多条，打开以后几乎全部是垃圾评论。虽然在MT中启用了Anti-SPAM的机制，只档掉了一千多条，俘获率才20%。看来MT自带的CAPTCH机制估计被破解了，大量的垃圾评论被发了进来。</p>

<p>目前看来抵御SPAM评论的方法主要有两种：</p>


<ol>
<li>通过Anti-SPAM软件来过滤。</li>
<li>通过CAPTCH来阻止机器人发布评论。</li>
</ol>

<p>实际用下来，Anti-SPAM机制的命中率并不高，而且即使想办法提高命中率，还是需要花费大量的时间处理漏网之鱼。所以使用比较强力的CAPTCH工具看来是一个比较可行的方法。</p>

<p><span class="caps">CMU</span>设计了一个名叫reCAPTCHA的强大系统，目前这个项目已经被Google收购了，并免费向公众开发使用。reCAPTCHA至今还没有被证实破解，并且reCAPTCHA本身是提供在线服务，因此我们完全可以放心将于SPAM的斗争交给Google来处理。</p>

<p>启用reCAPTCHA功能以后，每次发布评论时，CAPTCHA会显示两个单词让人来识别，其中一个是需要用户识别的难认词，另外一个是答案已知的真正的CAPTCHA 词。软件将能够正确识别CAPTCHA 词的用户看作是人类，这样可以非常有效的防止机器人发布垃圾评论。</p>



<p>在MT中安装并启用reCAPTCHA的步骤：</p>

<ol>
<li>访问 <a href="http://www.google.com/recaptcha">reCAPTCHA</a> 网站，注册你的站点以后获得公钥和私钥（public and a private key）。</li>
<li>下载 <a href="http://plugins.movabletype.org/recaptcha/">reCAPTCHA for MT</a> ，将压缩包中的reCaptcha/整个目录复制到$MT_HOME/plugins/目录中。</li>
<li>在后台管理界面中打开Tools -&gt; Plugins，选中reCAPTCHA，在Setting中输入刚才从reCAPTCHA 拿到的公钥和私钥，然后保存设置。</li>
<li>在后台管理界面中打开Settings -&gt; Feedback，将CAPTCHA Provider设置为 reCaptcha，然后保存设置。</li>
<li>在后台管理界面中打开Design -&gt; Templates， 打开编辑"Comment Form"模板，找到</li>
</ol>

<pre>
&lt;div id=&quot;comments-open-captcha&quot;&gt;&lt;/div&gt;
将其修改为：
&lt;mt:If tag=&quot;MTCaptchaFields&quot;&gt;
    &lt;div id=&quot;comments-open-captcha&quot;&gt;&lt;$mt:CaptchaFields$&gt;&lt;/div&gt;
&lt;/mt:If&gt;
</pre>



<p>最后，重新发布整个站点，你将在评论时看到reCAPTCH验证码。</p>]]>
        <![CDATA[<p><br /></p>]]>
    </content>
</entry>

<entry>
    <title>博科SAN交换机学习笔记之四：Zone规划 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/brocade-san-note-4.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.299</id>

    <published>2012-03-19T07:18:07Z</published>
    <updated>2012-03-20T07:05:42Z</updated>

    <summary>要实现 Zoning的功能，关键的不是学会使用 Zoning的命令，而是做好 Zone 的规划设计，在实施配置之前，先设计好 Zone 的结构、成员，根据你的配置清单在到交换机上完成配置。 在设计 Zone 时，有一个最基本的原则----每个 Zone 中只有一台主机。遵循这样规则设计出的Zone，结构非常清晰，不会有错误产生。另外可以防止不同的主机争夺对磁盘控制权的情况。 Zone 的配置可以动态完成，当某个 Configuration 被激活了后，它的Zone的配置马上会在 SAN网络中生效。 没有缺省的 Zone。在交换机上启用了 Zone 的功能后，所有不在 Zone 中的设备都不能相互访问。 一个设备可以同时属于多个 Zone。存储设备有可能会被放到不同的 Zone中，同时被多个 Zone 的主机访问。 博科交换机在实现Zone划分时有两种方法：在名字服务器中隔离和在数据转发时过滤数据包，用这两种方法实现的Zone分别被称作Software Zone和Hardware Zone。Software Zone和Hardware Zone不是人为指定的，而是由交换机根据Zone内的成员类型自己去判断的。Zone的类型的判别标准如下： Software Zone - 同时有WWN和 Domain,Port 作为成员。 Hardware...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>要实现 Zoning的功能，关键的不是学会使用 Zoning的命令，而是做好 Zone 的规划设计，在实施配置之前，先设计好 Zone 的结构、成员，根据你的配置清单在到交换机上完成配置。</p>

<p>在设计 Zone 时，有一个最基本的原则----每个 Zone 中只有一台主机。遵循这样规则设计出的Zone，结构非常清晰，不会有错误产生。另外可以防止不同的主机争夺对磁盘控制权的情况。 </p>

<ol>
<li>Zone 的配置可以动态完成，当某个 Configuration 被激活了后，它的Zone的配置马上会在 <span class="caps">SAN</span>网络中生效。</li>
<li>没有缺省的 Zone。在交换机上启用了 Zone 的功能后，所有不在 Zone 中的设备都不能相互访问。</li>
<li>一个设备可以同时属于多个 Zone。存储设备有可能会被放到不同的 Zone中，同时被多个 Zone 的主机访问。</li>
</ol>

<p><del>博科交换机在实现Zone划分时有两种方法：在名字服务器中隔离和在数据转发时过滤数据包，用这两种方法实现的Zone分别被称作Software Zone和Hardware Zone。Software Zone和Hardware Zone不是人为指定的，而是由交换机根据Zone内的成员类型自己去判断的。Zone的类型的判别标准如下：</del></p>

<ul>
<li><del>Software Zone - 同时有WWN和 Domain,Port 作为成员。</del></li>
<li><del>Hardware Zone -  只有WWN或只有 Domain,Port 作为成员。</del></li>
</ul>

<p>以上老的定义和名词已经废弃，新版本的博科交换机的定义将其分为：</p>

<ul>
<li>Frame-based hardware enforcement</li>
<li>Session-based hardware enforcement</li>
</ul>

<p>Frame-based hardware enforcement 包括以下三种情况：</p>

<ol>
<li>所有Zone成员都是用 pWWN 定义。</li>
<li>所有Zone成员都是用 Domain,Port 定义。</li>
<li>每一个Zone成员都是用pWWN 或者Domain,Port 定义，并且不存在overlapping zone。</li>
</ol>

<p>不符合Frame-based 的情况都被视为 Session-based hardware enforcement，其中overlapping zone就是说同一个设备在一个Zone中被pWWN定义，而在另外一个Zone当中被Domain,Port方式定义。</p>

<p>你可以用以下命令行查看每个端口是Frame-based / Session-based：</p>

<ul>
<li>Use the "portZoneShow" command.</li>
<li>Use the "filterPortShow -slot<slot> <port>" command.</li>
</ul>


<p>最后在规划Zone的时候，遵守以下原则：</p>

<ul>
<li>禁用所有不在使用的端口，可以增加安全性和减少潜在的问题。</li>
<li>总是用pWWN 来定义Zone 成员，除非你需要使用FICON。</li>
<li>确保每个Zone都是frame-based hardware enforcement。</li>
<li>按照一个Zone只包含一个HBA卡的原则来规划Zone。</li>
<li>对于备份服务器，如果一个HBA卡即要访问存储又要访问磁带库，为他们分别建立单独的Zone。</li>
<li>使用免费的 Brocade <span class="caps">SAN</span> Health™ 软件和 zone --validate命令来检查Zone配置。</li>
</ul>]]>
        <![CDATA[<p><big><b>Zone 命名规则</b></big></p>

<p>Zoning 中所用到的名字的命名规则和 C 语言的变量命名规则相同规定：</p>

<ul>
<li>大小写敏感，在设计和配置时应该把大小写分清楚。</li>
<li>必须是字母开头的，并以字母或数字作为内容，可以使用"_"。</li>
</ul>

<p><big><b><span class="caps">WWN</span></b></big></p>

<p>每个博科交换机在生产后都有他唯一的一个WWN码（World Wide Name）全球唯一，和网卡的 <span class="caps">MAC </span>地址一样。在交换机上Node代表交换机，Port代表端口，所以一个4口的光纤交换机就有一个Node <span class="caps">WWN</span>和4个Port <span class="caps">WWN</span>。</p>

<p><span class="caps">SAN</span>网络中的一个设备（Node）会有两种类型的WWN，一个是Node <span class="caps">WWN</span>，另一个是Port <span class="caps">WWN</span>。在实现 Zone 时一般使用 Port <span class="caps">WWN </span>来创建 Zone，不去使用 Node <span class="caps">WWN</span>，这样的配置比较灵活自如。比如如果某个存储设备有两个端口，你可以指定某些主机从一个端口访问存储，另一些主机从另一个端口访问存储。</p>

<p>Brocade交换机前16位是固定的10:00，厂家代号：00:60:69 代表Brocade产品最后24位为厂家分配。</p>

<p>eg: 10:00:00:60:69:00:60:02</p>

<p>Port <span class="caps">WWN</span>第一位为2（固定）其他跟 Node <span class="caps">WWN </span>一样。</p>]]>
    </content>
</entry>

<entry>
    <title>Cisco 2811 路由器NAT配置 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/cisco-2811-router-nat-config.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.298</id>

    <published>2012-03-15T01:58:42Z</published>
    <updated>2012-03-15T09:31:41Z</updated>

    <summary><![CDATA[这几天在测试VMware vCloud Director时，为了测试从公网访问，用一台闲置的Cisco 2811通过NAT的方式，让公网用户能够访问到内网的VCD服务器。虽然Cisco路由器配置NAT非常简单，不过因为对Cisco路由器的配置本身不是非常熟练，所以配置和调试还是花了很多功夫。 首先将Cisco 2811路由器的配置文件清空，并重启路由器。 # erase startup-config # reload 路由器重启后，跳过configure向导。 路由器基本配置 Router&gt; enable Router# configure terminal Router(config)# hostname rtr2811 rtr2811(config)# enable password mypasswd //设置登陆密码 rtr2811(config)# line vty 0 4 rtr2811(config-line)# password mypasswd2 //设置telnet密码 rtr2811(config-line)# login rtr2811(config-line)# exit 内外网接口...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Cisco | 网络" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>这几天在测试VMware vCloud Director时，为了测试从公网访问，用一台闲置的Cisco 2811通过NAT的方式，让公网用户能够访问到内网的VCD服务器。虽然Cisco路由器配置NAT非常简单，不过因为对Cisco路由器的配置本身不是非常熟练，所以配置和调试还是花了很多功夫。</p>

<p>首先将Cisco 2811路由器的配置文件清空，并重启路由器。</p>

<blockquote><p># erase startup-config<br />
# reload</p></blockquote>

<p>路由器重启后，跳过configure向导。</p>

<p><big><b>路由器基本配置</b></big></p>

<blockquote><p>Router&gt; enable<br />
Router# configure terminal<br />
Router(config)# hostname rtr2811<br />
rtr2811(config)# enable password mypasswd    //设置登陆密码<br />
rtr2811(config)# line vty 0 4<br />
rtr2811(config-line)# password mypasswd2    //设置telnet密码<br />
rtr2811(config-line)# login<br />
rtr2811(config-line)# exit</p></blockquote>

<p><big><b>内外网接口</b></big></p>

<blockquote><p>rtr2811(config)# interface fastEthernet 0/0       //设置外网接口<br />
rtr2811(config-if)# ip address 220.93.x.250 255.255.255.240<br />
rtr2811(config-if)# no shutdown<br />
rtr2811(config-if)# exit<br />
rtr2811(config)# interface fastEthernet 0/1           //设置内网接口<br />
rtr2811(config-if)# ip address 192.168.100.1 255.255.255.0<br />
rtr2811(config-if)# no shutdown<br />
rtr2811(config-if)# exit</p></blockquote>

<p>外网网段是220.93.x.240/28，默认网关是220.93.x.241，路由器接口地址是220.93.x.250，我用来做NAT的地址是220.93.x.251-252。</p>

<p><big><b>路由配置</b></big></p>

<blockquote><p>rtr2811(config)# ip routing     //开启路由<br />
rtr2811(config)# ip route 0.0.0.0 0.0.0.0 220.93.x.241    //配置缺省路由( 即外网网关)</p></blockquote>

<p>清空配置后，默认路由功能并没有打开，要重新打开路由功能。</p>]]>
        <![CDATA[<p><big><b>内网访问公网</b></big></p>

<p><span class="caps">NAT</span>分为静态与动态两种方式，为了让内网分享公网访问，我们一般配置为动态NAT，也就是overload方式。</p>

<blockquote><p>ip nat pool ovrld 220.93.x.251 220.93.x.251 prefix 24<br />
ip nat inside source list 7 pool ovrld overload<br />
access-list 7 permit 192.168.100.0 0.0.0.255</p></blockquote>

<p><big><b>公网IP <span class="caps">NAT</span>到内网</b></big></p>

<p>对于类似Mail、WEB服务器，需要将公网IP <span class="caps">NAT</span>到内网，我们基于IP或者端口来做NAT。配置公网IP <span class="caps">NAT</span>到内网时，不需要同时对内网服务器访问公网设置NAT，也就是说NAT不需要双向配置。在同时配置的情况下，两种NAT使用的IP地址不要冲突。</p>

<ul>
<li>IP地址NAT</li>
</ul>

<blockquote><p>rtr2811(config)# ip nat inside source static 192.168.100.20 220.93.x.251<br />
rtr2811(config)# ip nat inside source static 192.168.100.21 220.93.x.252</p></blockquote>

<ul>
<li>端口NAT</li>
</ul>

<blockquote><p>rtr2811(config)# ip nat inside source static tcp 192.168.100.20 80 220.93.x.251 80<br />
rtr2811(config)# ip nat inside source static tcp 192.168.100.20 443 220.93.x.251 443</p></blockquote>

<p>同样也需要配置访问列表</p>

<blockquote><p>rtr2811(config)# ip nat inside source list 7 interface FastEthernet0/0 overload<br />
rtr2811(config)# access-list 7 permit 192.168.100.0 0.0.0.255</p></blockquote>

<p><big><b>接口NAT配置</b></big></p>

<blockquote><p>rtr2811(config)# interface fastEthernet 0/0       //外网接口<br />
rtr2811(config-if)# ip nat outside<br />
rtr2811(config-if)# exit<br />
rtr2811(config)# interface fastEthernet 0/1           //内网接口<br />
rtr2811(config-if)# ip nat inside<br />
rtr2811(config-if)# exit</p></blockquote>

<p><big><b>查看NAT状态</b></big></p>

<blockquote><p>rtr2811# show ip nat translations   //查看映射端口列表</p></blockquote>

<p>参考资料：</p>

<p>Configuring Static and Dynamic <span class="caps">NAT</span> Simultaneously - <a href="http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094e77.shtml">http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094e77.shtml</a></p>]]>
    </content>
</entry>

<entry>
    <title>博科SAN交换机学习笔记之三：常用命令行 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/brocade-san-note-3.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.295</id>

    <published>2012-03-12T02:28:13Z</published>
    <updated>2012-03-26T09:04:10Z</updated>

    <summary>博科SAN交换机虽然提供了基于WEB的管理界面，不过在熟悉命令行的前提下，可以更加方便快捷的配置和管理交换机。下面我收集了常用的命令行，方便以后查询。 交换机基本配置命令 IP地址 ipaddrshow ipaddrset - 博科交换机的默认IP地址是10.77.77.77，在命令行模式下可以通过ipaddrset命令对交换机的IP地址进行设置和修改。 Switch Name / Hostname switchname hostname命令只能临时更改交换机名字。 DNS dnsconfig 时间日期 date &quot;mmddHHMMyy&quot; tstimezone --interactive OS版本信息 version 交换机状态查询 switchshow - 交换机与端口状态 hashow - CP卡状态（Brodecade 300不支持） slotshow - SLOT状态（Brodecade 300不支持） psshow - 电源状态 tempshow - 温度状态...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>博科SAN交换机虽然提供了基于WEB的管理界面，不过在熟悉命令行的前提下，可以更加方便快捷的配置和管理交换机。下面我收集了常用的命令行，方便以后查询。</p>

<p><big><b>交换机基本配置命令</b></big></p>

<ul>
<li>IP地址</li>
</ul>

<blockquote><p>ipaddrshow<br />
ipaddrset - 博科交换机的默认IP地址是10.77.77.77，在命令行模式下可以通过ipaddrset命令对交换机的IP地址进行设置和修改。</p></blockquote>

<ul>
<li>Switch Name / Hostname</li>
</ul>

<blockquote><p>switchname</p></blockquote>

<p>hostname命令只能临时更改交换机名字。</p>

<ul>
<li><span class="caps">DNS</span></li>
</ul>

<blockquote><p>dnsconfig</p></blockquote>

<ul>
<li>时间日期</li>
</ul>

<blockquote><p>date "mmddHHMMyy"<br />
tstimezone --interactive</p></blockquote>

<ul>
<li>OS版本信息</li>
</ul>

<blockquote><p>version</p></blockquote>

<p><big><b>交换机状态查询</b></big></p>

<blockquote><p>switchshow - 交换机与端口状态<br />
hashow - CP卡状态（Brodecade 300不支持）<br />
slotshow - <span class="caps">SLOT</span>状态（Brodecade 300不支持）<br />
psshow - 电源状态<br />
tempshow - 温度状态<br />
fanshow - 风扇状态<br />
firmwareshow - 微码状态<br />
licenseshow - 授权状态<br />
cfgshow - 配置信息<br />
zoneshow - <span class="caps">ZONE</span>信息<br />
uptime - 交换机运行时间<br />
porterrshow - 端口错误信息<br />
errshow - 错误信息</p></blockquote>]]>
        <![CDATA[<p><big><b>别名管理</b></big></p>

<blockquote><p>alicreate - 创建别名<br />
alishow - 显示系统中定义的别名<br />
aliadd - 别名中添加成员<br />
aliremove - 别名中删除成员<br />
alidelete - 删除别名</p></blockquote>

<p>Example:</p>

<blockquote><p>alicreate "aliname","domainid1,port1;domainid2,port2"<br />
aliadd "aliname","domainid,port"<br />
aliremote "aliname","domainid,port"</p></blockquote>

<p><big><b>zone相关命令</b></big></p>

<blockquote><p>zonecreate - 创建一个zone <br />
zoneadd - Zone添加新成员<br />
zoneremove - Zone删除成员<br />
zoneobjectcopy - 复制一个zone到一个新的zong <br />
zoneobjectrename - 重新命名一个zone <br />
zoneobjectexpunge - 删除一个zone </p></blockquote>

<p>Example:</p>

<blockquote><p>zonecreate "zonename","aliname1;aliname2;domainid3,port3"<br />
cfgadd "cfg", "zonename"</p></blockquote>

<p>无论添加和删除zone，都要相应的将zone从配置文件中添加或者删除。如果你在删除zone以后忘记从配置文件中删除，在cfgenable的时候，会看到找不到zone的错误信息。</p>

<p>zonedelete "zonename"<br />
cfgremove "cfg", "zonename"</p>


<p><big><b>配置文件命令</b></big></p>

<blockquote><p>cfgshow - 查看zone配置<br />
cfgsave - 保存zone配置<br />
cfgenable - 启用zone配置<br />
cfgclear - 删除所有zone信息 <br />
cfgsize - 查看zone数据库大小 <br />
cfgtransshow - 查看是否有未被保存的zone相关信息 <br />
cfgtransabort - 放弃未被保存的zone相关信息 <br />
cfgactvshow - 显示激活中的zone配置 </p></blockquote>

<p>Example:</p>

<blockquote><p>cfgcreate "zone1_cfg","zone1"<br />
cfgsave<br />
cfgenable zone1_cfg</p></blockquote>

<p>先启用配置文件，然后保存，这样刚才的配置文件才会生效。在配置zone时，无论是添加还是删除端口，都要做cfgenable。</p>

<p><big><b>设备管理</b></big></p>

<blockquote><p>nsshow - 查看当前交换机中有哪些node（设备） <br />
nsallshow - 查看当前fabric中有哪些node（设备）</p></blockquote>

<p><big><b>查看端口状态</b></big></p>

<blockquote><p>portstatsshow - 查看端口统计信息<br />
portstatsclear - 将端口统计数据清空，重新开始统计</p></blockquote>]]>
    </content>
</entry>

<entry>
    <title>在Solaris系统中安装光纤磁带库 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/TTL-installation-in-solaris.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.294</id>

    <published>2012-03-09T07:43:47Z</published>
    <updated>2012-03-23T09:24:38Z</updated>

    <summary><![CDATA[从 HP 网站下载 Library and Tape Tools ，包含了磁带库和机械手的驱动程序。 To install the L&amp;TT package: 1.Login as root. 2.Navigate to the temporary directory: cd /tmp 3.Download or copy hp_ltt.tar (where is the version number) to this directory. If you are copying the...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Solaris | AIX | HP-UX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>从 HP 网站下载 Library and Tape Tools ，包含了磁带库和机械手的驱动程序。</p>

<p>To install the <span class="caps">L&amp;TT </span>package:</p>

<p>1.Login as root.</p>

<p>2.Navigate to the temporary directory:</p>

<p>cd /tmp</p>

<p>3.Download or copy hp_ltt<xx>.tar (where <xx> is the version number) to this directory.</p>

<p>If you are copying the file from a different directory, enter the following command, substituting the directory in which the file currently resides for <directory name>:</p>

<p>cp /<directory name>/hp_ltt<xx>.tar /tmp</p>

<p>4.Un-tar the <span class="caps">L&amp;TT </span>tar file:</p>

<p>tar -xvf hp_ltt<xx>.tar</p>

<p>5.Run the installation script in the /tmp directory:</p>

<p>./install_hpltt</p>

<p>6.After the software is successfully installed, enter the following commands to remove the temporary files from the installation process:</p>

<p>cd /tmp<br />
rm -rf install_hpltt<br />
rm -rf <span class="caps">HPLTT</span><xx> (where <xx> is the version number)</p>

<p>安装好驱动程序以后，重新启动操作系统。</p>

<p>reboot -- -r</p>]]>
        <![CDATA[<p>运行 /opt/ltt/hp_ltt 工具，扫描可以连接到的磁带机设备。在识别出磁带机以后，在cfgadm中可以查看磁带机设备。</p>

<p>cfgadm -al<br />
... ...<br />
c4                             fc-fabric    connected    configured   unknown<br />
c4::2000f4ce46ae6ccc           unavailable  connected    unconfigured failed<br />
c4::50014380072cd01c           unknown      connected    unconfigured unknown<br />
c4::50014380072fa188           unknown      connected    unconfigured unknown<br />
c4::5001438016043c42           tape         connected    configured   unknown<br />
c4::5001438016043c48           tape         connected    configured   unknown</p>

<p>c4就是磁带机，记住编号是5001438016043c42和5001438016043c48。</p>

<ol>
<li>ls /dev/rmt/* | grep 5001438016043c42<br />
lrwxrwxrwx   1 root     root          75 Mar  9 14:49 /dev/rmt/1 -&gt; ../../devices/pci@7c0/pci@0/pci@9/SUNW,qlc@0/fp@0,0/st@w5001438016043c42,0:</li>
</ol>

<ol>
<li>ls -l /dev/rmt/* | grep 5001438016043c48<br />
lrwxrwxrwx   1 root     root          75 Mar  9 14:49 /dev/rmt/0 -&gt; ../../devices/pci@7c0/pci@0/pci@9/SUNW,qlc@0/fp@0,0/st@w5001438016043c48,0:</li>
</ol>

<p>**<big>测试磁带读写</big>**</p>

<p>在磁带库管理界面中，将磁带入库，测试磁带的读写。磁盘名字中，第一个字符是编号，第二个是磁带密度，可以分为l（低），m（中），h（高），c（压缩的）及u（高压缩的），最后一列中n代表no-rewind，表示操作完以后，不能倒带。</p>

<p>tar cvf /dev/rmt/0chn /opt<br />
tar tvf /dev/rmt/0chn</p>]]>
    </content>
</entry>

<entry>
    <title>博科SAN交换机学习笔记之二：配置文件备份与固件升级 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/brocade-san-note-2.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.297</id>

    <published>2012-03-09T03:22:22Z</published>
    <updated>2012-03-28T07:21:36Z</updated>

    <summary><![CDATA[对交换机配置文件的备份非常重要，需要定期备份配置文件，并且熟悉恢复配置文件的过程。如果是新购买的光纤交换机， 配置文件备份 建议每次对光纤交换机配置以后都将配置文件备份到远程服务器，支持SCP, FTP和SFTP协议。可以通过configupload命令将博科交换机的配置以文本格式存到本地。 FCSwitch:root&gt; configupload Protocol (scp, ftp, sftp, local) [ftp]: ftp Server Name or IP Address [host]: ftp.liaojl.com User Name [user]: liaojl Path/Filename [&lt;home dir&gt;/config.txt]: FCSwitch/FCSwitch-all.txt Section (all|chassis|switch [all]): all Password: configUpload complete: All selected config parameters are...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>对交换机配置文件的备份非常重要，需要定期备份配置文件，并且熟悉恢复配置文件的过程。如果是新购买的光纤交换机，</p>

<p><big><b>配置文件备份</b></big></p>

<p>建议每次对光纤交换机配置以后都将配置文件备份到远程服务器，支持SCP, <span class="caps">FTP</span>和SFTP协议。可以通过configupload命令将博科交换机的配置以文本格式存到本地。</p>



<pre>FCSwitch:root&gt; configupload
Protocol (scp, ftp, sftp, local) [ftp]: ftp
Server Name or IP Address [host]: ftp.liaojl.com
User Name [user]: liaojl
Path/Filename [&lt;home dir&gt;/config.txt]: FCSwitch/FCSwitch-all.txt
Section (all|chassis|switch [all]): all
Password:

configUpload complete: All selected config parameters are uploaded
</pre>



<p>备份过程并不会保存以下信息：</p>

<ul>
<li>dnsConfig information</li>
<li>Passwords</li>
</ul>]]>
        <![CDATA[<p><big><b>配置文件恢复</b></big></p>

<p>当需要备份中恢复交换机配置时，可以通过configdownload命令将博科交换机的配置从远程服务器恢复到交换机。博科交换机支持将旧版本的配置文件导入新版本固件的交换机，例如将v6.2.0的配置文件导入v6.3.0固件版本的交换机，或者将v6.4.1 配置文件导入 v7.0.0 版本的交换机。</p>

<p>如果将配置文件导入到不兼容的固件版本交换机，可能导致交换机故障。建议经常保存配置文件，确保备份的配置文件与交换机固件版本相同。</p>

<p>固件v6.1.0及以后的版本，恢复配置文件时不需要disableswitch。某些特殊情况下，恢复配置文件以后会提示你重启交换机。</p>



<pre>FCSwitch:root&gt; configdownload
Protocol (scp, ftp, local) [ftp]:
Server Name or IP Address [host]: ftp.liaojl.com
User Name [user]: liaojl
Path/Filename [&lt;home dir&gt;/config.txt]: FCSwitch/FCSwitch-all.txt
Section (all|chassis|FID# [all]): all
*** CAUTION ***
This command is used to download a backed-up configuration
for a specific switch. If using a file from a different
switch, this file's configuration settings will override
any current switch settings. Downloading a configuration
file, which was uploaded from a different type of switch,
may cause this switch to fail. A switch reboot might be
required for some parameter changes to take effect.
configDownload operation may take several minutes
to complete for large files.
Do you want to continue [y/n]: y
Password: &lt;hidden&gt;
configDownload complete.</pre>



<p><big><b>固件升级</b></big></p>

<p>升级固件前，查看一下根分区的磁盘容量，如果使用率超过60%，建议联系Brodecade技术支持处理。</p>



<pre>FCSwitch:root&gt; df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root               495016    165432    304032  35% /
/dev/hda1               494984    165712    303724  35% /mnt</pre>



<p>查看交换机当前固件版本：</p>



<pre>FCSwitch:root&gt; version
Kernel:     2.6.14.2
Fabric OS:  v6.4.1a
Made on:    Tue Dec 14 03:02:28 2010
Flash:      Mon Sep 12 11:03:46 2011
BootProm:   1.0.9

FCSwitch:root&gt; firmwareShow
Appl     Primary/Secondary Versions
-----------------------------------------
FOS      v6.4.1a
         v6.4.1a</pre>



<p>使用firmwareDownload工具从FTP服务器下载固件并升级。</p>



<pre>FCSwitch:root&gt; firmwareDownload
Server Name or IP Address: ftp.liaojl.com
User Name: liaojl
File Name: v6.4.2b
Network Protocol(1-auto-select, 2-FTP, 3-SCP) [1]: 2
Password:
Do you want to continue (Y/N) [Y]: y

All packages have been downloaded successfully.
Firmware has been downloaded to the secondary partition of the switch
HA Rebooting ...</pre>



<p>升级过程一般需要10到30分钟，你可以使用firmwareDownloadStatus 命令来查看升级状态。</p>



<pre>FCSwitch:root&gt; firmwareDownloadStatus
[1]: Tue Feb 14 06:29:33 2012
Firmware is being downloaded to the switch. This step may take up to 30 minutes.

[2]: Tue Feb 14 06:33:27 2012
Firmware has been downloaded to the secondary partition of the switch.

[3]: Tue Feb 14 06:35:49 2012
The firmware commit operation has started. This may take up to 10 minutes.

[4]: Tue Feb 14 06:38:44 2012
The commit operation has completed successfully.

[5]: Tue Feb 14 06:38:44 2012
Firmwaredownload command has completed successfully. Use firmwareshow to verify
the firmware versions.</pre>



<p>交换机重启以后，重新登录交换机，查看当前的Kernel和固件信息。</p>



<pre>
FCSwitch:root&gt; version
Kernel:     2.6.14.2
Fabric OS:  v6.4.2b
Made on:    Tue Sep 20 17:57:39 2011
Flash:      Tue Feb 14 06:18:51 2012
BootProm:   1.0.9

FCSwitch:root&gt; firmwareShow
Appl     Primary/Secondary Versions
------------------------------------------
FOS      v6.4.2b
         v6.4.2b
</pre>]]>
    </content>
</entry>

<entry>
    <title>博科SAN交换机学习笔记之一：介绍与初始配置 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2012/03/brocade-san-note-1.html" />
    <id>tag:www.liaojl.com,2012:/blog//2.296</id>

    <published>2012-03-06T03:20:45Z</published>
    <updated>2012-03-28T09:51:06Z</updated>

    <summary><![CDATA[我们购买的HP光纤交换机实际上是OEM 博科的，对应Brocade 300 型号。SAN交换机的配置和网络交换机类似，都是通过串口连接到Console界面。 首先通过随机附送的串口线连接到交换机的管理口，串口参数如下： Bits per second: 9600 Databits: 8 Parity: none Stop bits: 1 Flow control: none 第一次登录系统时，会提示设置密码，一共有factory, root, admin, user四种密码，可以用ctrl+c取消，不过下次登录还会提示，所以最好在初始配置时设置，可以设置成一样的密码。 接下来会提示你设置交换机的IP 地址，交换机默认IP：10.77.77.77；netmask：255.255.255.0，你也可以直接通过这个IP地址来登录到交换机。 DNS FCSwitch:root&gt; dnsConfig FCSwitch:root&gt; switchname FCSwitch:root&gt; hostname IP address FCSwitch:root&gt; ipaddrset FCSwitch:root&gt; ipAddrShow SWITCH Ethernet...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>我们购买的HP光纤交换机实际上是OEM 博科的，对应Brocade 300 型号。SAN交换机的配置和网络交换机类似，都是通过串口连接到Console界面。</p>

<p>首先通过随机附送的串口线连接到交换机的管理口，串口参数如下：</p>



<pre>Bits per second: 9600
Databits: 8
Parity: none
Stop bits: 1
Flow control: none</pre>



<p>第一次登录系统时，会提示设置密码，一共有factory, root, admin, user四种密码，可以用ctrl+c取消，不过下次登录还会提示，所以最好在初始配置时设置，可以设置成一样的密码。</p>

<p>接下来会提示你设置交换机的IP 地址，交换机默认IP：10.77.77.77；netmask：255.255.255.0，你也可以直接通过这个IP地址来登录到交换机。</p>

<p><big><b><span class="caps">DNS</span></b></big></p>

<p><span class="caps">FCS</span>witch:root&gt; dnsConfig<br />
<span class="caps">FCS</span>witch:root&gt; switchname<br />
<span class="caps">FCS</span>witch:root&gt; hostname</p>

<p><big><b>IP address</b></big></p>

<p><span class="caps">FCS</span>witch:root&gt; ipaddrset<br />
<span class="caps">FCS</span>witch:root&gt; ipAddrShow</p>

<p><span class="caps">SWITCH</span><br />
Ethernet IP Address: 10.77.77.77<br />
Ethernet Subnetmask: 255.255.255.0<br />
Gateway IP Address: <br />
<span class="caps">DHCP</span>: Off</p>

<p><big><b>时间日期</b></big></p>

<p><span class="caps">FCS</span>witch:root&gt; date "mmddHHMMyy"<br />
<span class="caps">FCS</span>witch:root&gt; tstimezone +8</p>

<p>设置时区以后，需要重启才能生效</p>]]>
        
    </content>
</entry>

<entry>
    <title>Solaris ISCSI 配置与连接 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/06/solaris-iscsi.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.293</id>

    <published>2011-06-23T06:47:38Z</published>
    <updated>2011-06-23T08:11:17Z</updated>

    <summary>Prepare for a Solaris iSCSI Conﬁguration Verify that the iSCSI software packages are installed. # pkginfo SUNWisciu SUNWiscsir system SUNWiscsiu Sun iSCSI Device Driver (root) system SUNWiscsir Sun iSCSI Management Utilities (usr) Verify that you are running a Solaris release...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Solaris | AIX | HP-UX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p><b>Prepare for a Solaris iSCSI Conﬁguration</b></p>

<p>Verify that the iSCSI software packages are installed.</p>



<pre>
# pkginfo SUNWisciu SUNWiscsir
system SUNWiscsiu Sun iSCSI Device Driver (root)
system SUNWiscsir Sun iSCSI Management Utilities (usr)
</pre>



<p>Verify that you are running a Solaris release that supports the iSCSI protocol.</p>

<p>Solaris 10 7/05 release or late</p>



<pre>
% cat /etc/release
Solaris 10 7/05 X86
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 03 March 2005
</pre>



<p>Solaris 10 release with the iSCSI patch</p>

<p>On a <span class="caps">SPARC </span>system:</p>



<pre>
# showrev -p | grep 119090
</pre>



<p>On an x86 system:</p>



<pre>
# showrev -p | grep 119091
</pre>]]>
        <![CDATA[<p>** Conﬁgure iSCSI Target Discovery**</p>

<p>Conﬁgure the SendTargets device discovery method or the static discovery method:</p>



<pre>
# iscsiadm add discovery-address 10.0.0.1:326
</pre>



<p>Enable the iSCSI target discovery method using one of the following:</p>



<pre>
# iscsiadm modify discovery --sendtargets enable
</pre>



<p>Create the iSCSI device links for the local system.</p>



<pre>
# devfsadm -i iscsi
</pre>





======================================================



<p><b>Note: How to Remove Discovered iSCSI Targets</b></p>

<p>Disable an iSCSI target discovery method using one of the following:</p>



<pre>
iscsiadm modify discovery --sendtargets disable
</pre>



<p>Remove an iSCSI device discovery entry:</p>



<pre>
 iscsiadm remove discovery-address 10.0.0.1:3260
</pre>





=======================================================




<p><b>Accessing iSCSI Disks</b></p>

<p>After the devices have been discovered by the Solaris iSCSI initiator, the login negotiation occurs automatically. The Solaris iSCSI driver determines that the number of <span class="caps">LUN</span>s available and creates the device nodes. Then, the iSCSI devices can be treated as any other <span class="caps">SCSI </span>device.</p>

<p>You can view the iSCSI disks on the local system with the format utility.</p>



<pre>
AVAILABLE DISK SELECTIONS:
       0. c0t0d0 &lt;SUN146G cyl 14087 alt 2 hd 24 sec 848&gt;
          /pci@780/pci@0/pci@9/scsi@0/sd@0,0
       1. c0t1d0 &lt;SUN146G cyl 14087 alt 2 hd 24 sec 848&gt;
          /pci@780/pci@0/pci@9/scsi@0/sd@1,0
       2. c0t2d0 &lt;SUN146G cyl 14087 alt 2 hd 24 sec 848&gt;
          /pci@780/pci@0/pci@9/scsi@0/sd@2,0
       3. c0t3d0 &lt;SUN146G cyl 14087 alt 2 hd 24 sec 848&gt;
          /pci@780/pci@0/pci@9/scsi@0/sd@3,0
       4. c2t6090A078407041F52DE03441A471CD96d0 &lt;EQLOGIC-100E-00-5.0 cyl 65533 alt 2 hd 16 sec 200&gt;
          /scsi_vhci/ssd@g6090a078407041f52de03441a471cd96
</pre>



<p>Make <span class="caps">UFS </span>filesystem and mount it.</p>



<pre>
newfs /dev/dsk/c2t6090A078407041F52DE03441A471CD96d0/s6
mount c2t6090A078407041F52DE03441A471CD96d0/s6 /mnt/iscsi
</pre>]]>
    </content>
</entry>

<entry>
    <title>Oracle Database 11G Installation on Solaris 10 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/06/oracle11g-for-solaris10.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.292</id>

    <published>2011-06-20T10:09:04Z</published>
    <updated>2011-06-21T08:16:43Z</updated>

    <summary>Installation Pre-RequisiteRefer to Oracle Database Installation Guide 11g Release 1 (11.1) for Solaris Operating System for checking Hardware and Software Requirements. User Creation and Environment Settings 1)Create groups for Oracle account #groupadd oinstall #groupadd dba #groupadd oper 2)Create Oracle Default...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Oracle | 数据库" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>Installation Pre-RequisiteRefer to <a href="http://download.oracle.com/docs/cd/B28359_01/install.111/b32068/pre_install.htm">Oracle Database Installation Guide 11g Release 1 (11.1) for Solaris Operating System for checking Hardware and Software Requirements</a>.</p>

<p><b>User Creation and Environment Settings</b></p>

<p>1)Create groups for Oracle account</p>



<pre>
#groupadd oinstall
#groupadd dba
#groupadd oper
</pre>



<p>2)Create Oracle Default Home directory</p>



<pre>
# mkdir /export/home
# mkdir /export/home/oracle
</pre>



<p>3)Create Oracle user</p>



<pre>
# useradd -g oinstall -G dba -d /export/home/oracle -s /usr/bin/bash oracle
# chown oracle:oinstall /export/home/oracle
</pre>



<p>4)Create Project for Oracle for setting the kernel parameters</p>

<p>In case of Solaris 10, you can use projects to configure the kernel parameters instead of /etc/system file. This can be done as following</p>



<pre>
# projadd -U oracle -K &quot;project.max-shm-memory=(priv,4g,deny)&quot; oracle
# projmod -sK &quot;project.max-sem-nsems=(priv,256,deny)&quot; oracle
# projmod -sK &quot;project.max-sem-ids=(priv,100,deny)&quot; oracle
# projmod -sK &quot;project.max-shm-ids=(priv,100,deny)&quot; oracle
</pre>



<p>There are many more ways of creating project entries such as group.group-name or user.user-name. For more details refer to Solaris Administration documents.</p>]]>
        <![CDATA[<p><b>Update</b></p>

<p>Last three settings made by projmod command are not required as these values are lower than the default. This was pointed by Mike Madland and he also gave a Sun documentation link</p>

<p><a href="http://docs.sun.com/app/docs/doc/819-2724/6n50b0795?l=en&amp;a=view%23chapter1-33">http://docs.sun.com/app/docs/doc/819-2724/6n50b0795?l=en&amp;a=view#chapter1-33</a></p>

<p>You can check the values for max-sem-ids and max-shm-ids with this command:</p>



<pre>
prctl -n project.max-sem-ids -i task `ps -o taskid= -p $$`
</pre>



<p>5)Create .bash_profile for Oracle user</p>



<pre>
#Oracle Environment Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11g; export ORACLE_HOME
ORACLE_SID=TESTDB11G; export ORACLE_SID
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:$ORACLE_HOME/bin
</pre>



<p>Now Set the Display to a X-windowing enabled system.</p>



<pre>
$ export DISPLAY=192.168.4.47:0.0
</pre>



<p>Also allow the host to accept the connection by</p>



<pre>
$xhost +
</pre>




<p><b>Oracle Software Installation</b></p>

<p>Go to the Oracle dump location and run runInstaller as Oracle user</p>



<pre>
$./runInstaller
</pre>



<p><b>Oracle 11g R2 Installation Error with Patch 124861-15</b></p>

<p>The Installation of 11gR2 is not proceeding due to missing OS patch 124861-15 on Solaris 10.</p>

<p>When we are trying to Install this patch it gives error:</p>



<pre>
bash-3.00# patchadd 124861-15
Validating patches...
Loading patches installed on the system...
Done!
Loading patches requested to install.
Version of package SPROlang from directory SPROlang in patch 124861-15 differs from the package installed on the system.
Version of package SPROlangx from directory SPROlangx in patch 124861-15 differs from the package installed on the system.
Version of package SPROsunms from directory SPROsunms in patch 124861-15 differs from the package installed on the system.
Version of package SPROmrcom from directory SPROmrcom in patch 124861-15 differs from the package installed on the system.
Done!
The following requested patches do not update any packages installed on the system
No Packages from patch 124861-15 are installed on the system.
No patches to dependency check.
</pre>



<p>The packages included in this patch are already Installed and with higher version. These packages are bundled with Sun Studio 12.1 and 12.2 , if you Installed Sun Studio 12.0 then it will allow you to Install the required patch 124861-15. This patch is for C compiler which is already installed with Sun Studio 12.x. So here Installing this patch doesn't make any sense as we already have these packages with higher version.</p>

<p>You can verify the packages bundled with this patch installed on your system or not:</p>



<pre>
bash-3.00# pkginfo -i SPROlang SPROlangx SPROsunms SPROmrcom
application SPROlang  Sun Studio 12 update 1 Compilers Common Components
application SPROlangx Sun Studio 12 update 1 Common 64-bit Components
application SPROmrcom Sun Studio 12 update 1 Common Compiler Man Pages/Online Info
application SPROsunms Sun Studio 12 update 1 Unbundled Shared libsunmath
</pre>



<p>Is these packages are Installed on your system, then you can avoid installing 124861-15 patch.</p>

<p>Here how you will avoid Installing this patch ?????</p>

<p>Just you need to comment pre-requiste file from 11g stage area.</p>

<p>11gR2stage/stage/cvu/cvu_prereq.xml</p>

<p>Find entry for patch 124861-15 :</p>



<pre>
original entry
!-- C Compiler Patches --
OSPATCH VALUE=&quot;124861-15&quot; SEVERITY=&quot;IGNORABLE&quot;     

Update Entry
!-- C Compiler Patches --
!-- OSPATCH VALUE=&quot;124861-15&quot; SEVERITY=&quot;IGNORABLE&quot; --
</pre>



<p>save this file and re-run the Installer it will not check this patch as a pre-requisite.</p>]]>
    </content>
</entry>

<entry>
    <title>SUN T2000如何进入OK提示符状态 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/06/sun-t2000-ok.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.291</id>

    <published>2011-06-14T06:26:16Z</published>
    <updated>2011-06-15T03:51:58Z</updated>

    <summary><![CDATA[进入OK提示符状态的方法有多种，具体取决于系统状态以及访问系统控制台的方式。 如果是通过Console口访问ALOM（Advanced Lights Out Manager），在启动系统时，在ALOM的命令行提示符下，输入break命令，就可以将系统重新引导到OK提示符状态。 #. -- 退出Console sc&gt; break -- 重新引导到OK提示符状态 sc&gt; console -- 进入Console 如果已经安装了操作系统，那么init 0或者shutdown命令会重启系统进入OK提示符状态。 如果接了键盘，那么L1-A (Stop-A) 键或Break键也可以进入OK提示符状态。 加注：OK提示符状态其实是进入OpenBoot PROM。...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Solaris | AIX | HP-UX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>进入OK提示符状态的方法有多种，具体取决于系统状态以及访问系统控制台的方式。</p>

<p>如果是通过Console口访问ALOM（Advanced Lights Out Manager），在启动系统时，在ALOM的命令行提示符下，输入break命令，就可以将系统重新引导到OK提示符状态。</p>


<ul>
<li>#.                  -- 退出Console</li>
<li>sc&gt; break      -- 重新引导到OK提示符状态</li>
<li>sc&gt; console   -- 进入Console</li>
</ul>

<p>如果已经安装了操作系统，那么init 0或者shutdown命令会重启系统进入OK提示符状态。</p>

<p>如果接了键盘，那么L1-A (Stop-A) 键或Break键也可以进入OK提示符状态。</p>

<p>加注：OK提示符状态其实是进入OpenBoot <span class="caps">PROM</span>。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Sun Fire X4240 Lights Out Management - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/06/sun-ilom.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.290</id>

    <published>2011-06-13T04:16:55Z</published>
    <updated>2011-06-13T05:21:50Z</updated>

    <summary>Sun X4240 和X4100 使用 iLOM 网络管理工具，默认的管理账号是root，密码是changeme。 设置root密码： set /SP/users/root password= 访问串口： start /SP/console 注：Sun X4240 控制台是图形方式的，所以串口访问的话非常不清楚，通常我们通过web方式通过Applet访问。...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Solaris | AIX | HP-UX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>Sun <span class="caps">X4240 </span>和X4100 使用 iLOM 网络管理工具，默认的管理账号是root，密码是changeme。</p>

<p>设置root密码：</p>

<p>set /SP/users/root password=</p>

<p>访问串口：</p>

<p>start /SP/console</p>

<p>注：Sun <span class="caps">X4240 </span>控制台是图形方式的，所以串口访问的话非常不清楚，通常我们通过web方式通过Applet访问。</p>]]>
        <![CDATA[<p>通过串口线，设置LOM 网络IP地址：<br />
 <br />
cd /SP/network <br />
set pendingipaddress=ipaddress<br />
set pendingipnetmask=255.255.0.0<br />
set pendingipgateway=10.1.0.1<br />
set pendingipdiscovery=static<br />
set commitpending=true</p>

<p>设置IP地址以后，可以通过WEB界面来管理或者远程控制服务器。</p>]]>
    </content>
</entry>

<entry>
    <title>[转载]AIX如何开机自动重新启动程序 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/06/aix-boot.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.289</id>

    <published>2011-06-09T06:45:22Z</published>
    <updated>2011-06-09T07:30:06Z</updated>

    <summary><![CDATA[----------------------------------------------------------------#转载请注明From:http://hi.baidu.com/空气人儿---------------------------------------------------------------- 在学习本主题之前，还是先学习一些AIX关于启动的基础知识，如果你只关心如何开机自动重启程序，请跳过第一章、第二章。 ----------------------------第一章 AIX开机启动过程介绍----------------------------不从最开始说起了，只说从AIX kernel被装载到内存开始。&nbsp;&nbsp;1、AIX系统存储在BLV的kernel在内存中创建/(root),/usr/和/var文件系统。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要注意，这里所说的文件系统，包括kernel在启动过程中都是存储在RAM（内存）中的。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 他们没有权限访问BLV之外的任何内容。&nbsp;&nbsp;2、文件系统被装载到RAM之后，kernel开始执行init进程，这个时候init进程开始接管系统启动进程。&nbsp;&nbsp;3、AIX kernel把init进程的PID设为1，这个进程是作为parent,root进程存在的，是AIX系统中运行的其他所有进程的父进程.当init进程被装载并在启动过程运行,init调用rc.boot.&nbsp;&nbsp;4、rc.boot文件在AIX系统启动过程中有三个重要的作用。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （1）、第一部分是rc.boot初始化了系统的硬件，使其为系统的启动做好准备。通过系统设置命令cfgmgr，一小部分系统启动需要的驱动被配置。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （2）、第二部分是文件系统/,/usr，/var和页面空间被装载。在这些文件系统被装载以后，init被硬盘上的PID为1的init进程所替代，同时RAM被清空。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （3）、第三部分和最后部分，rc.boot,实际的init进程是从硬盘上运行的。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当init被执行后，/etc/inittab文件被堵去，同时里面的每一条都被执行。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这个过程中，/tmp文件系统正被装载到硬盘上。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在，系统正在启动的最后过程中，cfgmgr命令再一次运行把剩下的在第一部分没有被rc.boot运行的驱动运行起来。&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 5、init进程被执行以后，下一步就是init会打开/etc/inittab，并且执行里面的内容。...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Solaris | AIX | HP-UX" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>----------------------------------------------------------------<br />#转载请注明From:http://hi.baidu.com/空气人儿<br />---------------------------------------------------------------- <br />在学习本主题之前，还是先学习一些AIX关于启动的基础知识，如果你只关心如何开机自动重启程序，请跳过第一章、第二章。<br /></p>
<p>----------------------------<br />第一章 AIX开机启动过程介绍<br />----------------------------<br />不从最开始说起了，只说从AIX kernel被装载到内存开始。<br />&nbsp;&nbsp;1、AIX系统存储在BLV的kernel在内存中创建/(root),/usr/和/var文件系统。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要注意，这里所说的文件系统，包括kernel在启动过程中都是存储在RAM（内存）中的。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 他们没有权限访问BLV之外的任何内容。<br />&nbsp;&nbsp;2、文件系统被装载到RAM之后，kernel开始执行init进程，这个时候init进程开始接管系统启动进程。<br />&nbsp;&nbsp;3、AIX kernel把init进程的PID设为1，这个进程是作为parent,root进程存在的，是AIX系统中运行的其他所有进程的父进程.当init进程被装载并在启动过程运行,init调用rc.boot.<br />&nbsp;&nbsp;4、rc.boot文件在AIX系统启动过程中有三个重要的作用。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （1）、第一部分是rc.boot初始化了系统的硬件，使其为系统的启动做好准备。通过系统设置命令cfgmgr，一小部分系统启动需要的驱动被配置。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （2）、第二部分是文件系统/,/usr，/var和页面空间被装载。在这些文件系统被装载以后，init被硬盘上的PID为1的init进程所替代，同时RAM被清空。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （3）、第三部分和最后部分，rc.boot,实际的init进程是从硬盘上运行的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当init被执行后，/etc/inittab文件被堵去，同时里面的每一条都被执行。 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这个过程中，/tmp文件系统正被装载到硬盘上。 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在，系统正在启动的最后过程中，cfgmgr命令再一次运行把剩下的在第一部分没有被rc.boot运行的驱动运行起来。&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 5、init进程被执行以后，下一步就是init会打开/etc/inittab，并且执行里面的内容。</p>]]>
        <![CDATA[----------------------------------------------<br />第二章 AIX启动的相关命令知识<br />----------------------------------------------<br />1、确认当前系统的运行级别<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在系统维护或者切换系统运行级别之前，你也许需要检查当前系统的运行级别。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <samp>cat /etc/.init.state</samp> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsitab init <br /><br />2、显示系统运行级别的更改纪录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 提示：确保<strong>bosext2.acct.obj</strong> 代码安装在你的系统上。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)&nbsp; 以root身份登陆系统.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2) <samp>执行/usr/lib/acct/fwtmp &lt;/var/adm/wtmp |grep run-level</samp><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 得到类似的结果:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run-level 2&nbsp; 0 1 0062 0123 697081013 Sun Feb&nbsp; 2 19:36:53 CST 1992<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run-level 2&nbsp; 0 1 0062 0123 697092441 Sun Feb&nbsp; 2 22:47:21 CST 1992<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run-level 4&nbsp; 0 1 0062 0123 698180044 Sat Feb 15 12:54:04 CST 1992<br /><br />3、改变系统运行级别基础知识<br />&nbsp;&nbsp; 当系统第一次启动之后，系统按照/etc/inittab文件的内容，进入默认的系统运行级别，直到系统管理员发出改变系统级别的命令。<br />&nbsp;&nbsp; 下面是系统定义的系统运行级别：<br />&nbsp;&nbsp; 0-9&nbsp;&nbsp;&nbsp;&nbsp; 当init命令改变系统运行级别为0-9时，将会杀掉当前系统级别下正在运行的所有进程，并进入新的系统运行级别。<br />&nbsp;&nbsp; 0-1&nbsp;&nbsp;&nbsp;&nbsp; 为未来的操作系统保留<br />&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认运行级别<br />&nbsp;&nbsp; 3-9&nbsp;&nbsp;&nbsp;&nbsp; 可以根据用户的需求进行自定义<br />&nbsp;&nbsp; a,b,c&nbsp;&nbsp; 当init命令接收到运行a,b或者c的时候，init命令不杀死任何当前运行的进程，只是启动新运行级别内定义的新进程。<br />&nbsp;&nbsp; Q,q&nbsp;&nbsp;&nbsp;&nbsp; init命令将会重新检查/etc/inittab文件<br />&nbsp;&nbsp; S、s&nbsp;&nbsp;&nbsp; 维护模式<br />&nbsp;&nbsp; M、m&nbsp;&nbsp;&nbsp; 维护模式<br /><br />4、改变系统运行级别<br />&nbsp;&nbsp; （1）、检查/etc/inittab文件，确认你想改变的系统运行级别。<br />&nbsp;&nbsp; （2）、使用wall命令通知所有用户你将改变<br />&nbsp;&nbsp; （3）、使用smit telinit快速改变系统运行级别<br />&nbsp;&nbsp; （4）、使用init n或者telinit n命令改变系统运行级别，其中n为系统运行级别。<br /><br />5、改变/etc/inittab文件<br />&nbsp;&nbsp; 在有些情况下，你需要增加、改变、列出、删除/etc/inittab文件中的记录。/etc/inittab文件定义了哪些进程在哪个系统运行级别里运行。<br />&nbsp;&nbsp; 当你运行init命令的时候，它将读取/etc/inittab文件。每一条记录定义了一个进程在一个进程的运行。<br />&nbsp;&nbsp; （1）、/etc/inittab文件参数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Identifier&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义了唯一的标识（1到14个字符）。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Run Level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义了进程所在的运行级别（1到20个字符）。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义了init命令将为此条进程执行的操作，包括：respawn,wait,once,boot,bootwait,powerfail,powerwait,off,hold,ondemand,initdefault和sysinit.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; respawn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果进程不存在，Start这个进程，不等待它的结束，继续扫描inittab文件。如果这个进程结束了，restart它。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start这个进程，并且等待它的结束。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; once&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start这个进程，并且不等待它的结束。如果这个进程结束，不restart它。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 仅在系统重启时执行。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bootwait&nbsp;&nbsp;&nbsp;&nbsp; 当服务第一次从单用户变为多用户时执行<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; powerfail&nbsp;&nbsp;&nbsp; 仅当如果init收到一条power错误时执行命令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; powerwait&nbsp;&nbsp;&nbsp; 仅当如果init收到一条power错误时执行命令，同时一直等待进程的结束，然后才继续扫描inittab文件。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; off&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果进程正在运行，发出SIGTERM信号，然后在20秒内执行SIGKILL<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ondemand&nbsp;&nbsp;&nbsp;&nbsp; 这个参数等同于respawn,但是只在a,b,c级别运行。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initdefault&nbsp; 只有当init初始化执行，才扫描内容。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sysinit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在登陆前，在init得到权限控制之前执行内容。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 包含需要执行的shell命令。<br />&nbsp;&nbsp; （2）、下面的命令可以支持对/etc/inittab文件进行操作。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chitab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改变/etc/inittab文件的记录。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsitab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列出/etc/inittab文件的记录。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkitab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 往/etc/inittab文件里增加记录。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rmitab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从/etc/inittab文件里删除记录。<br />&nbsp;&nbsp; （3）、命令举例<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 增加纪录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 往/etc/inittab文件里增加一条记录，执行<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkitab Identifier:Run Level:Action:Command<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：tty002:2:respawn:/usr/sbin/getty /dev/tty2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改变记录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改变/etc/inittab文件里的一条记录，执行<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chitab Identifier:Run Level:Action:Command<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：将上例的运行级别从2改为2和3，chitab tty002:23:respawn:/usr/sbin/getty /dev/tty2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列出记录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列出/etc/inittab文件中的所有记录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsitab -a<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列出某个指定的记录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <samp>lsitab </samp><samp>Identifier<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：lsitab tty2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 删除记录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rmitab Identifier<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：rmitab tty2<br /><br />6、执行运行级别脚本<br />&nbsp;&nbsp; 运行级别脚本允许用户在更改运行级别时启动和停止所选择的应用程序。以 K 开头的脚本是停止脚本，以 S 开头的脚本是启动脚本。<br />&nbsp;&nbsp; 这些脚本保存于它们所从属的运行级别的特定子目录中，每个子目录的格式为 rcn.d，其中 n 表示运行级别：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc2.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc3.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc4.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc5.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc6.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc7.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc8.d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc9.d </samp><samp><br /></samp>---------------------------------------<br />第三章 开机自动运行程序<br />---------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开机启动程序的方法有很多，我只谈谈思路，然后给出一些解决方法。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从第一章AIX系统启动过程，我们知道AIX系统在启动过程中，会扫描inittab文件的内容，并执行它。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、那么，我们可以通过直接修改inittab文件，使系统在开机重启时运行我们的命令。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、也可以通过inittab文件里指向的脚本（rc.local、rc.d组，后面会详细介绍）。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 间接使系统在开机重启时运行我们的命令。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、其他方法：如使用crontab的定时任务功能，间接启动脚本，<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这种方法不是开机后马上运行，要看crontab里设置的时间间隔的长短而定。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />一、通过rc.local启动（<font color="#ff0000">最简单的方法</font>）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rc.local是inittab里的一个脚本指向，通过运行lsitab -a|grep rc.local ，我们可以得到rc.local:2:once:/etc/rc.local &gt; /dev/console 2&gt;&amp;1 <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、 mkitab -i rcnfs "rc.local:2:once:/etc/rc.local &gt; /dev/console 2&gt;&amp;1"&nbsp;&nbsp; #如果inittab文件里没有关于rc.local的信息，可以通过此命令创建脚本。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意系统运行级别要与你想要运行的系统运行级别一致，这里系统运行级别是2。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、touch /etc/rc.local #新建rc.local文件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、chmod 700 /etc/rc.local #设置执行权限<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、把执行脚本放到/etc/rc.local里之后，AIX系统在重新启动时，就会运行/etc/rc.local里的脚本了。<br /><br />二、通过/etc/rc.d脚本启动（<font color="#ff0000">需要编写start\stop脚本</font>）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d是inittab里的一组脚本指向，通过运行lsitab -a|grep rc.d,我们得到<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l2:2:wait:/etc/rc.d/rc 2 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l3:3:wait:/etc/rc.d/rc 3 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l4:4:wait:/etc/rc.d/rc 4 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l5:5:wait:/etc/rc.d/rc 5 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l6:6:wait:/etc/rc.d/rc 6 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l7:7:wait:/etc/rc.d/rc 7 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l8:8:wait:/etc/rc.d/rc 8 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l9:9:wait:/etc/rc.d/rc 9 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、cd /etc/rc.d/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #进入/etc/rc.d目录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、cd /samples&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #进入/etc/rc.d/samples 目录，可以得到K70lpd、README.txt、S70lpd三个文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里只是简单的模仿K70lpd和S70lpd,更高级的方法，留给大家自己研究了。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面，我们分别创建自己的启动和结束脚本。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：<br /># more K69oa<br />#!/bin/ksh<br />##################################################<br /># name: K69oa<br /># purpose: sample script that start or stop oa.<br />#转载请注明From:http://hi.baidu.com/空气人儿<br />##################################################<br /><br />case "$1" in<br />start )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WebSphere/AppServer/bin/startServer.sh server1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBMHttpServer/bin/apachectl start<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />stop )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WebSphere/AppServer/bin/stopServer.sh server1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBMHttpServer/bin/apachectl stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />* )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Usage: $0 (start | stop)"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 1<br />esac<br /><br /><br /># more S69oa<br />#!/bin/ksh<br />##################################################<br /># name: S69oa<br /># purpose: sample script that start or stop oa.<br />#转载请注明From:http://hi.baidu.com/空气人儿<br />##################################################<br /><br />case "$1" in<br />start )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WebSphere/AppServer/bin/startServer.sh server1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBMHttpServer/bin/apachectl start<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />stop )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WebSphere/AppServer/bin/stopServer.sh server1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBMHttpServer/bin/apachectl stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />* )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Usage: $0 (start | stop)"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 1<br />esac<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、chmod 700 这两个脚本<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、把这两个脚本放到/etc/rc.d/rc2 下。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5、使用shutdown -rF重新启动机器时，会自动运行放在/etc/rc.d/rc2下的S69oa脚本中的stop部分；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 系统重启之后，系统会自动运行放在/etc/rc.d/rc2下的S69oa脚本中的start部分。<br /><br />三、自定义启动脚本（与方法一基本相同，自己研究吧）<br /><br /><br /><br />参考：<br />http://publib16.boulder.ibm.com/pseries/en_US/infocenter/base/43_docs/aixbman/baseadmn/toc.htm<br />http://www.ibm.com/developerworks/aix/library/au-speakingunix_unixboot/index.html<br />]]>
    </content>
</entry>

</feed>

