<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>LiaoJL</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>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.04</generator>

<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>

<entry>
    <title>VMware Update Manager - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/05/vmware-update-manager.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.288</id>

    <published>2011-05-19T04:39:31Z</published>
    <updated>2011-05-20T04:32:42Z</updated>

    <summary>在VMware vCenter 4.1的环境中，VMware提供了Update Manager的工具，来管理VMware ESX/ESXi hosts, virtual machines, and virtual appliances升级和补丁。 SQL Server 安装SQL Server 2008 Enterprise版本，将数据验证方式设置为SQL Server and Windows Authentication Mode，因为vCenter和SQL Server并不在一台服务器上，所以需要通过SQL Server账户验证。 为了避免Transaction Log占用过多的磁盘空间，建议将数据库的Recovery Mode改为Simple。参考： SQL Server Recovery Model Affects Transaction Log Disk Space Requirements 32bit ODBC DSN...</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>在VMware vCenter 4.1的环境中，VMware提供了Update Manager的工具，来管理VMware <span class="caps">ESX</span>/ESXi hosts, virtual machines, and virtual appliances升级和补丁。</p>

<p><b><span class="caps">SQL</span> Server</b></p>

<p>安装SQL Server 2008 Enterprise版本，将数据验证方式设置为SQL Server and Windows Authentication Mode，因为vCenter和SQL Server并不在一台服务器上，所以需要通过SQL Server账户验证。</p>

<p>为了避免Transaction Log占用过多的磁盘空间，建议将数据库的Recovery Mode改为Simple。参考： <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1001046"><span class="caps">SQL</span> Server Recovery Model Affects Transaction Log Disk Space Requirements</a></p>


<p><b>32bit <span class="caps">ODBC DSN</span></b></p>

<p>To set up a 32-bit <span class="caps">DSN </span>launch the 32-bit version of the Data Source Administrator. It is located at:</p>

<p><span cite="http://">systemdrive</span>\Windows\SysWoW64\Odbcad32.exe</p>

<p>注意：在64位操作系统中，默认的ODBC <span class="caps">DSN</span>是64位的，而VMware Update Manager只支持32位的ODBC，在开始-&gt;运行中输入以上命令，开启32位ODBC配置界面。</p>]]>
        <![CDATA[<p>如果VMware Update Manager并非访问本地的数据库服务器，在配置ODBC时，不要选用Windows Authentication Mode方式，不然即使安装的时候不报错，在Enable VMware Update Manager Plugin的时候也会报错。</p>

<p><a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1015223">error: database unavailable or has network problems</a></p>

<p>VMware Update Manager是以Plug-in的方式，整合在vSphere Client中，打开菜单Plug-ins -&gt; Manage Plug-ins，选中VMware vCenter Update Manager Extension，然后Enable。</p>

<p>如果Enable Plug-in成功，会多出来一个Update Manager的页面，可以对Host或者Cluster安装补丁或者升级。</p>]]>
    </content>
</entry>

<entry>
    <title>Panabit支持免费版本的流控软件 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/05/panabit.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.287</id>

    <published>2011-05-17T07:21:29Z</published>
    <updated>2011-05-17T09:08:11Z</updated>

    <summary>前段时间公司Internet访问经常非常慢，特别是午饭和下班前的时间段，因为公司对外网访问基本没有控制，而这段时间P2P下载以及视频网站占用掉了大量的流量。为了不影响公司Live Meeting等业务需要的外网访问，在公司策略不允许封P2P下载的情况下，只能想办法限制P2P下载速度。 在搜寻流量控制软件时，发现了Panabit这款相当不错的软件。Panabit软件运行在FreeBSD操作系统之上，支持Live CD和一键安装到本地硬盘的方式。对于一个基本不懂Unix的用户，安装起来也不会又太大的困难。 下载安装ISO文件，刻成光盘，使用光盘启动，启动之后输入root用户名，口令root，即FreeBSD提示界面，输入： Panabit8#./setup回车 (大约1分钟左右，时间视硬盘大小格式化时间，安装过程首先是自动查找盘，显示查到的磁盘设备名，本机使用建议选择安装在第一个盘，盘可以是硬盘、CF卡、U盘等(盘容量要大于256M，建议512M以上。其中主要过程是运行自动分区、格式化文件系统、安装精简FreeBSD 8.0、安装Panabit。)...</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>前段时间公司Internet访问经常非常慢，特别是午饭和下班前的时间段，因为公司对外网访问基本没有控制，而这段时间P2P下载以及视频网站占用掉了大量的流量。为了不影响公司Live Meeting等业务需要的外网访问，在公司策略不允许封P2P下载的情况下，只能想办法限制P2P下载速度。</p>

<p>在搜寻流量控制软件时，发现了Panabit这款相当不错的软件。Panabit软件运行在FreeBSD操作系统之上，支持Live CD和一键安装到本地硬盘的方式。对于一个基本不懂Unix的用户，安装起来也不会又太大的困难。</p>

<p>  <img src="/images/2011/05/17/panain.gif" alt="" /></p>

<p>下载安装ISO文件，刻成光盘，使用光盘启动，启动之后输入root用户名，口令root，即FreeBSD提示界面，输入：<br />
Panabit8#./setup回车 (大约1分钟左右，时间视硬盘大小格式化时间，安装过程首先是自动查找盘，显示查到的磁盘设备名，本机使用建议选择安装在第一个盘，盘可以是硬盘、CF卡、U盘等(盘容量要大于256M，建议512M以上。其中主要过程是运行自动分区、格式化文件系统、安装精简FreeBSD 8.0、安装Panabit。)</p>]]>
        <![CDATA[<p>在安装过程中，须选择一个做管理口的网卡，剩余的默认都作为数据接口。(注：可以在Live CD启动之后，使用FreeBSD命令ifconfig查看网卡，如果插上网线，显示网卡状态为Active，通过此方法确认物理接口对应关系。)</p>

<p>安装成功后，重启机器，即可https登录管理界面https://X.X.X.X，Web管理用户名admin，口令panabit。</p>

<p>进入Web管理界面，第一件事选择"网络配置"--&gt;"数据接口"配置网桥，如选择网桥1，将一个网卡定义为接内网，将另一个网卡定义为接外网，分别点击提交即可，配置网桥2、网桥3、网桥4重复同样步骤，如下图：</p>

<p>  <img src="/images/2011/05/17/data_port.gif" alt="" /></p>]]>
    </content>
</entry>

<entry>
    <title>VMware Erroe: NMP nmp_CompleteCommandForPath - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/05/vmware-error-nmp.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.286</id>

    <published>2011-05-16T06:22:07Z</published>
    <updated>2011-05-16T06:59:23Z</updated>

    <summary>这两天，在调试VMware主机到存储的连接时，在/var/log/vmkernel文件中，发现如下报错信息： May 16 21:01:17 sh-myhost vmkernel: 30:08:48:10.811 cpu4:4360)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x41027fa02040) to NMP device &quot;naa.600508b1001030394130373539301700&quot; failed on physical path &quot;vmhba2:C0:T0:L0&quot; H:0x1 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0. 之前还以为只有访问LUN的时候会报以下日志，后来在其它没有连SAN交换机得服务器上，发现访问本地磁盘也会有类似的出错。 根据错误代码，在VMware KB中查询到以下NMP errors/conditions ：...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="存储备份" scheme="http://www.sixapart.com/ns/types#category" />
    
        <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>这两天，在调试VMware主机到存储的连接时，在/var/log/vmkernel文件中，发现如下报错信息：</p>

<p>May 16 21:01:17 sh-myhost vmkernel: 30:08:48:10.811 cpu4:4360)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x41027fa02040) to <span class="caps">NMP </span>device "naa.600508b1001030394130373539301700" failed on physical path "vmhba2:C0:T0:L0" H:0x1 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.</p>

<p>之前还以为只有访问LUN的时候会报以下日志，后来在其它没有连SAN交换机得服务器上，发现访问本地磁盘也会有类似的出错。</p>

<p>根据错误代码，在VMware KB中查询到以下NMP errors/conditions ：</p>]]>
        <![CDATA[<p>For <span class="caps">ESX</span> 4.0 and later versions: </p>

<p>H:0xA D:0xB P:0xC Possible sense data: 0xD 0xE 0xF.</p>

<p>A = Host status (Initiator)<br />
B = Device Status (Target)<br />
C = Plugin (VMware Specific)<br />
D = Sense Key<br />
E = Additional Sense Code<br />
F = Additional Sense Code Qualifier </p>

<p>根据 <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1029039"><span class="caps">SCSI </span>host-side <span class="caps">NMP </span>errors/conditions in <span class="caps">ESX</span> 4.x</a> 和 <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=289902">Interpreting <span class="caps">SCSI </span>sense codes</a> 定义，如果代码是H:0x0 D0x0 P:0x0时，表示对磁盘或者LUN的访问是正常的。如果代码不是H:0x0，你可以在前面的文档中找到相应的错误描述。</p>

<p>对于没有配置Battery Backed Write Cache (BBWC)模块的机器，需要购买BBWC模块来解决这个问题：</p>

<p><a href="http://communities.vmware.com/message/1724815">http://communities.vmware.com/message/1724815</a><br />
<a href="http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01832427&amp;lang=en&amp;cc=us&amp;taskId=135&amp;prodSeriesId=420496&amp;prodTypeId=18964">http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01832427&amp;lang=en&amp;cc=us&amp;taskId=135&amp;prodSeriesId=420496&amp;prodTypeId=18964</a></p>

<p>而对于SAN环境下面的报错，下面的KB给出了详细的分析：</p>

<p><a href="http://communities.vmware.com/thread/222692">http://communities.vmware.com/thread/222692</a></p>

<p>I tried to investigate the issue, had a conversation with our <span class="caps">SAN </span>vendor, and I think that I do, in fact, have some answers.<br />
 <br />
(1) nmp_CompleteCommandForPath ... Command 0x2a to <span class="caps">NMP </span>device failed on physical path ... Possible sense data 0x0 0x0 0x0: <br />
 <br />
(1a) Analysis:<br />
 <br />
Jul 28 08:39:54 vmware05 vmkernel: 0:20:44:22.115 cpu1:4259)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x4100020c7f40) to <span class="caps">NMP </span>device "naa.60050cc000205a840000000000000023" failed on physical path "vmhba2:C0:T1:L0" H:0x0 D:0x28 P:0x0 Possible sense data: 0x0 0x0 0x0.</p>

<p>Jul 28 08:39:54 vmware05 vmkernel: 0:20:44:22.115 cpu1:4259)ScsiDeviceIO: 747: Command 0x2a to device "naa.60050cc000205a840000000000000023" failed H:0x0 D:0x28 P:0x0 Possible sense data: 0x0 0x0 0x0.<br />
 <br />
The sense codes logged by VMware stand for "TASK <span class="caps">SET FULL</span>". Our <span class="caps">SAN </span>vendor told us that, at least for them, this is a known "issue". In fact, it is not even a real issue. The explanation is: The <span class="caps">SAN'</span>s controller has a write cache (for each array). When a single host, for example, writes a lot of data to a single array, the write cache might be full, and other hosts might not be able to write to the write cache. Our <span class="caps">SAN </span>offers a setting for "overload management". When overload management is enabled the hosts that have to wait until the write cache is free will be sent the message "TASK <span class="caps">SET FULL</span>" by the <span class="caps">SAN'</span>s controller. I.e., these hosts cannot write to the <span class="caps">SAN </span>at the moment and will have to wait. VMware waits and logs this event with the corresponding sense data for "TASK <span class="caps">SET FULL</span>" to /var/log/vmkernel.</p>

<p>(1b) Additional information:<br />
 <br />
There is a VMware Knowledge Base article on <span class="caps">SCSI </span>sense codes: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=289902<br />
 <br />
The log message above contains the following codes:<br />
 <br />
- H:0x0 D:0x28 P:0x0 Possible sense data: 0x0 0x0 0x0<br />
 <br />
The interesting section here is the code starting with "D" (D stands for "device status"). Device status 0x28 means for "TASK <span class="caps">SET FULL</span>".<br />
 <br />
(1c) Solution:<br />
 <br />
I re-configured our <span class="caps">SAN.</span> The write cache setting for each array was set to "maximum", and I reduced it to a fixed amount. Hence, the arrays really act independently from each other. (Otherwise a write cache congestion on one array can have an impact on other arrays). Moreover, I changed the "overload management setting" from:<br />
 <br />
- Enabled: Commands that can not be accepted before the response timeout will fail with the status <span class="caps">TASK SET FULL </span>(0x28).<br />
 <br />
to:<br />
 <br />
- Disabled: No target queue full timeout will be enforced. Commands will wait until they can be processed or are timed out in the transport layer.<br />
 <br />
Furthermore, I activated the option "Enable cache Writethrough operation when write cache is full." (I prefer slow write operations to the <span class="caps">SAN </span>to no write operations.) <br />
 <br />
(1d) Note:<br />
 <br />
The log messages do not appear any longer. (At least at the moment.) However, the log messages did not appear in <span class="caps">ESX</span> 3.5-U2 anyway -- they only started appearing in <span class="caps">ESX</span> 4.0. So either <span class="caps">ESX</span> 4.0 handles <span class="caps">SCSI </span>write commands in a different way (rather unlikely) or <span class="caps">ESX</span> 4.0 simply logs more or increasingly detailed messages.<br />
 <br />
(2) nmp_RegisterDevice: Registration of <span class="caps">NMP </span>device failed:<br />
 <br />
(2a) Analysis:<br />
 <br />
Jul 26 01:34:43 vmware05 vmkernel: 3:15:35:02.465 cpu2:4418)WARNING: <span class="caps">NMP</span>: nmp_RegisterDevice: Registration of <span class="caps">NMP </span>device with primary uid 'mpx.vmhba1:C0:T1:L6' failed. Already exists </p>

<p>Jul 26 01:34:43 vmware05 vmkernel: 3:15:35:02.466 cpu2:4418)WARNING: <span class="caps">NMP</span>: nmp_RegisterDevice: Registration of <span class="caps">NMP </span>device with primary uid 'mpx.vmhba2:C0:T0:L6' failed. Already exists </p>

<p>Jul 26 01:34:43 vmware05 vmkernel: 3:15:35:02.466 cpu2:4418)WARNING: <span class="caps">NMP</span>: nmp_RegisterDevice: Registration of <span class="caps">NMP </span>device with primary uid 'mpx.vmhba2:C0:T1:L6' failed. Already exists<br />
 <br />
I have six <span class="caps">LUN</span>s on the <span class="caps">SAN </span>(LUN 0 through <span class="caps">LUN</span> 5). <span class="caps">LUN</span> 6 is the <span class="caps">SAN'</span>s controller. So these error messages correspond to the <span class="caps">SAN'</span>s controller and not to any of the datastores.<br />
 <br />
Unfortunately, I do not have an answer for this issue yet ... and /var/log/vmkernel is filling up rapidly -- at 26,000 lines or 4.5 MB per hour.<br />
 <br />
What I'd like to see is a <span class="caps">ESX </span>setting that lets me disable these messages for a given <span class="caps">LUN.</span></p>]]>
    </content>
</entry>

<entry>
    <title>IPAD安装OpenVPN客户端 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/04/ipadopenvpn.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.285</id>

    <published>2011-04-26T09:09:26Z</published>
    <updated>2011-04-28T02:52:43Z</updated>

    <summary><![CDATA[Apple IOS上面用GuizmOVPN可以很方便的安装OpenVPN客户端，可以从Cydia上面安装。这是个收费软件，不过网上有诸多注册机可以生成激活码。 我们需要client.ovpn配置文件、ipad.key文件、ipad.crt文件及ca.crt证书文件，将这4文件打包成openvpn-ipad.zip，然后上传到ipad。 打开Settings -&gt; Configuration manager -&gt; Web Server 服务开关，按照提示的从电脑打开链接，可以看到上传配置文件的页面。...]]></summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Mobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipadopenvpn" label="IPAD OpenVPN" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>Apple <span class="caps">IOS</span>上面用GuizmOVPN可以很方便的安装OpenVPN客户端，可以从Cydia上面安装。这是个收费软件，不过网上有诸多注册机可以生成激活码。</p>

<p>我们需要client.ovpn配置文件、ipad.key文件、ipad.crt文件及ca.crt证书文件，将这4文件打包成openvpn-ipad.zip，然后上传到ipad。</p>

<p>打开Settings -&gt; Configuration manager -&gt; Web Server 服务开关，按照提示的从电脑打开链接，可以看到上传配置文件的页面。</p>]]>
        <![CDATA[<p><b>client.ovpn</b></p>

<p>如果你没有client.ovpn文件，安装OpenVPN for Windows客户端，在config目录中可以找到默认的client.ovpn，修改以下设置：</p>



<pre>
remote linode.liaojl.com 1194

ca ca.crt
cert ipad.crt
key ipad.key
</pre>



<p>将GuizmOVPN的Connect按钮设置为ON就可以连接VPN，你可以按右下角的LOG按钮，查看VPN连接的详细信息。</p>

<p><b><span class="caps">TIP</span>s</b></p>

<p>注册机生成的激活码如果不可用，换一个邮箱试试。</p>]]>
    </content>
</entry>

<entry>
    <title>Linode系列之七：OpenVPN服务器安装 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/04/linode-7-openvpn.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.284</id>

    <published>2011-04-13T03:18:27Z</published>
    <updated>2011-04-15T08:10:09Z</updated>

    <summary>OpenVPN可以在Linode主机和客户端之间建立一个安全的网络通道，客户端可以通过NAT方式从Linode主机访问Internet，由此实现隐藏自身IP或者翻墙的目的。 Gentoo系统安装OpenVPN前，建议先将系统做个Update，然后安装OpenVPN，安装时注意选上examples。 emerge -uDN -av world emerge -av openvpn 证书 OpenVPN自带的ESAY RSA工具，可以方便的创建根证书与服务器和客户端的密钥，工具安装在/usr/share/openvpn/easy-rsa目录。先编辑vars文件，设置变量的默认值。...</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>OpenVPN可以在Linode主机和客户端之间建立一个安全的网络通道，客户端可以通过NAT方式从Linode主机访问Internet，由此实现隐藏自身IP或者翻墙的目的。</p>

<p>Gentoo系统安装OpenVPN前，建议先将系统做个Update，然后安装OpenVPN，安装时注意选上examples。</p>



<pre>
emerge -uDN -av world
emerge -av openvpn
</pre>



<p><big><b>证书</b></big></p>

<p>OpenVPN自带的ESAY <span class="caps">RSA</span>工具，可以方便的创建根证书与服务器和客户端的密钥，工具安装在/usr/share/openvpn/easy-rsa目录。先编辑vars文件，设置变量的默认值。</p>]]>
        <![CDATA[<pre>
linode easy-rsa # vi vars
export KEY_COUNTRY=&quot;CN&quot;
export KEY_PROVINCE=&quot;SH&quot;
export KEY_CITY=&quot;Shanghai&quot;
export KEY_ORG=&quot;LiaoJL&quot;
export KEY_EMAIL=&quot;liaojl@liaojl.com&quot;
</pre>



<p>读取环境变量，并清除已有的证书和密钥文件。</p>



<pre>
. vars
./clean-all
</pre>



<p><b>创建根证书</b></p>



<pre>
linode easy-rsa # ./build-ca
Generating a 1024 bit RSA private key
............++++++
......++++++
writing new private key to 'ca.key'

Country Name (2 letter code) [CN]:
State or Province Name (full name) [SH]:
Locality Name (eg, city) [Shanghai]:
Organization Name (eg, company) [LiaoJL]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [LiaoJL CA]:
Name []:
Email Address [liaojl@liaojl.com]:
</pre>



<p><b>创建服务器证书</b></p>



<pre>
linode easy-rsa # ./build-key-server server
Generating a 1024 bit RSA private key
..........................++++++
..............................................++++++
writing new private key to 'server.key'

Country Name (2 letter code) [CN]:
State or Province Name (full name) [SH]:
Locality Name (eg, city) [Shanghai]:
Organization Name (eg, company) [LiaoJL]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [server]:
Name []:
Email Address [liaojl@liaojl.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /usr/share/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'CN'
stateOrProvinceName   :PRINTABLE:'SH'
localityName          :PRINTABLE:'Shanghai'
organizationName      :PRINTABLE:'LiaoJL'
commonName            :PRINTABLE:'server'
emailAddress          :IA5STRING:'liaojl@liaojl.com'
Certificate is to be certified until Apr  8 08:54:47 2021 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
</pre>



<p><b>创建客户端证书</b></p>



<pre>
linode easy-rsa # ./build-key i9000
Generating a 1024 bit RSA private key
.........................++++++
..............................++++++
writing new private key to 'i9000.key'

Country Name (2 letter code) [CN]:
State or Province Name (full name) [SH]:
Locality Name (eg, city) [Shanghai]:
Organization Name (eg, company) [LiaoJL]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [i9000]:
Name []:
Email Address [liaojl@liaojl.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /usr/share/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'CN'
stateOrProvinceName   :PRINTABLE:'SH'
localityName          :PRINTABLE:'Shanghai'
organizationName      :PRINTABLE:'LiaoJL'
commonName            :PRINTABLE:'i9000'
emailAddress          :IA5STRING:'liaojl@liaojl.com'
Certificate is to be certified until Apr  8 08:55:44 2021 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
</pre>



<p>将证书与密钥文件复制到/etc/openvpn目录。</p>



<pre>
cp -R keys /etc/openvpn
</pre>



<p><b>OpenVPN配置文件</b></p>

<p>将Keys目录中的四个证书密钥文件ca.crt, server.crt, server.key, dh1024.pem复制到/etc/openvpn目录。然后从/usr/share/doc/openvpn-2.1.4/examples/sample-config-files目录复制配置文件server.conf.bz2，解压缩并重命名为openvpn.conf，配置如下：</p>



<pre>
port 11994
proto udp
dev tun

# SSL/TLS
ca ca.crt
cert server.crt
key server.key

# Diffie hellman parameters
dh dh1024.pem

# VPN subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push &quot;redirect-gateway def1 bypass-dhcp&quot;
</pre>



<p>将默认端口改为11994，高端端口比较不容易被防火墙阻挡。</p>

<p><big><b>防火墙的配置</b></big></p>

<p>客户端拨入系统后，只建立了客户端到Linode主机之间的网络连接，要想实现翻墙或者隐藏IP的功能，还需要在Linode主机上通过iptables启动NAT功能。</p>



<pre>
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
</pre>



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

<p>如果你希望将客户端的DNS设置为Linode主机（10.8.0.1），然后安装dnsmasq包 ，并且在OpenVPN配置文件中，PUSH <span class="caps">DNS</span>记录。</p>



<pre>
push &quot;dhcp-option DNS 10.8.0.1&quot;
</pre>



<p>在Linode主机上开启DNSMASQ服务：</p>



<pre>
/etc/init.d/dnsmasq start
rc-update add dnsmasq default
</pre>



<p>或者，也可以直接用Google的DNS服务器，推荐使用外部DNS而不是DNSMASQ方式：</p>



<pre>
push &quot;dhcp-option DNS 8.8.8.8&quot;
</pre>



<p><b>客户端配置</b></p>

<p>下载 <a href="http://openvpn.net/index.php/open-source/downloads.html">OpenVPN Community Project</a> ，然后将ca.crt, i9000.crt, i9000.key文件复制到OpenVPN安装目录的config子文件夹。编辑client.ovpn配置文件：</p>



<pre>
client
dev tun
proto udp
remote linode.liaojl.com 11994

ca ca.crt
cert i9000.crt
key i9000.key

comp-lzo
verb 3
</pre>



<p>双击client.ovpn文件，或者通过OpenVPN <span class="caps">GUI</span>连接到VPN服务器。</p>]]>
    </content>
</entry>

<entry>
    <title>Android 2.2.1手机安装OpenVPN客户端 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/04/android-22-openvpn.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.283</id>

    <published>2011-04-13T02:31:45Z</published>
    <updated>2011-04-27T08:25:43Z</updated>

    <summary>最近入手一台三星GT-I9000 Android系统手机，固件版本号是Android 2.2.1 FROYO.ZSJPG，为了顺利通过翻墙，安装了下OpenVPN客户端。 安装OpenVPN之前，先要破解手机的ROOT权限，至于如何破解ROOT权限，请参考另外一篇文章：Android手机如何破解ROOT权限。 在电子市场搜索下面的程序并安装： busybox OpenVPN Setting OpenVPN Installer 说明：OpenVPN Installer程序在我手机上安装的OpenVPN程序无法正常工作，可能和动态链接库不全有关。后来我在网上找到的Openvpn for Android二进制文件是静态编译的，不需要动态链接库，才可以正常使用。下载地址： http://github.com/downloads/fries/android-external-openvpn/openvpn-static-2.1.1.bz2 将文件上传到手机，并赋予执行权限。 adb push openvpn-static-2.1.1 /system/xbin/openvpn adb shell # chmod 775 /system/xbin/openvpn...</summary>
    <author>
        <name>LiaoJL</name>
        
    </author>
    
        <category term="Mobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="openvpnandroidi9000" label="OpenVPN Android i9000" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.liaojl.com/blog/">
        <![CDATA[<p>最近入手一台三星GT-<acronym title="Galaxy S">I9000</acronym> Android系统手机，固件版本号是Android 2.2.1 <span class="caps">FROYO.ZSJPG</span>，为了顺利通过翻墙，安装了下OpenVPN客户端。</p>

<p>安装OpenVPN之前，先要破解手机的ROOT权限，至于如何破解ROOT权限，请参考另外一篇文章：Android手机如何破解ROOT权限。</p>


<p>在电子市场搜索下面的程序并安装：</p>



<pre>
busybox
OpenVPN Setting
OpenVPN Installer
</pre>



<p>说明：OpenVPN Installer程序在我手机上安装的OpenVPN程序无法正常工作，可能和动态链接库不全有关。后来我在网上找到的Openvpn for Android二进制文件是静态编译的，不需要动态链接库，才可以正常使用。下载地址：</p>

<p><a href="http://github.com/downloads/fries/android-external-openvpn/openvpn-static-2.1.1.bz2">http://github.com/downloads/fries/android-external-openvpn/openvpn-static-2.1.1.bz2</a></p>

<p>将文件上传到手机，并赋予执行权限。</p>



<pre>
adb push openvpn-static-2.1.1 /system/xbin/openvpn
adb shell
# chmod 775 /system/xbin/openvpn
</pre>]]>
        <![CDATA[<p><b>tun.ko</b></p>

<p>tun.ko是VPN的TUN/TAP虚拟设备的驱动，一般1.6版本以后都自带该TUN驱动，但很多版本为了精简系统，把它去掉了。先检查/system/lib/modules/目录中是否存在tun.ko文件, 如果没有的话，需要下载之后放进该目录或自行编译。</p>

<p>你可以从Google的VPN Connections for android 项目主页下载tun.ko，链接如下：</p>

<p><a href="http://code.google.com/p/get-a-robot-vpnc/downloads/list">http://code.google.com/p/get-a-robot-vpnc/downloads/list</a></p>

<p>不过这个tun.ko并不适合我的Android系统，tun.ko和具体OS版本有关，如果不想自行编译，只能到网上搜索能和自己系统匹配的tun.ko文件。</p>

<p>安装并加载tun.ko文件：</p>



<pre>
mount -o remount,rw /system
cd /system/lib/modules/
chmod 644 tun.ko
cp /sdcard/download/tun.ko .
insmod tun.ko
</pre>



<p>如果提示找不到ifconfig和route命令：</p>



<pre>
mkdir /system/xbin/bb
ln -s /system/xbin/busybox /system/xbin/bb/ifconfig
ln -s /system/xbin/busybox /system/xbin/bb/route
</pre>



<p><b>OpenVPN Setting</b></p>

<p>OpenVPN采用数字证书进行验证，我们需要client.ovpn配置文件、i9000.key文件、i9000.crt文件及ca.crt证书文件，将这4文件放在/sdcard/openvpn/目录下，然后运行OpenVPN Setting就可以连接VPN服务。</p>

<p><b>client.ovpn</b></p>

<p>安装OpenVPN客户端，在config目录中可以找到默认的client.ovpn，修改以下设置：</p>



<pre>
remote linode.liaojl.com 1194

ca ca.crt
cert i9000.crt
key i9000.key
</pre>



<p>OpenVPN Setting有一个选项是加载模块，只需要给出tun.ko文件的路径，就可以让OpenVPN帮你自动加载这个模块。</p>

<p>由于国内各个DNS基本都存在DNS污染，所以建议在OpenVPN的设置页面填一个国外的DNS，例如：Google的8.8.8.8。或者干脆在OpenVPN服务器上直接PUSH这个DNS。</p>]]>
    </content>
</entry>

<entry>
    <title>Dell EQlogic grpadmin账号密码重置 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/03/eqlogic-reset-grpadmin.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.282</id>

    <published>2011-03-23T04:14:22Z</published>
    <updated>2011-03-23T04:36:54Z</updated>

    <summary><![CDATA[最近从Dell借过来一台EQlogic PS6000XV存储用来测试，因为是旧的存储，grpadmin账号的密码已经无从知晓，参考Dell官方文档重置密码到出厂设置，步骤如下： 将两个控制器中的其中一块拔出，避免重置密码时，两边控制器信息不同步导致冲突。 通过串口线连接到控制器，重启控制器，按Ctrl+P进入安装模式。 设置RESETPASSWORD变量，然后reload控制器。 CFE&gt; setenv RESETPASSWORD 1 CFE&gt; reload 默认密码是grpadmin，登录系统后重置密码。 &gt; account select grpadmin passwd Enter New Password: xxxxxxx Retype password: xxxxxxx 确保串行连接具备以下特性： • 9600 波特 • 1 个停止位 • 无奇偶校验 • 8 个数据位 • 无硬件流控制 下面附上Dell的原文档，写的更加详细：...]]></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>最近从Dell借过来一台EQlogic <span class="caps">PS6000XV</span>存储用来测试，因为是旧的存储，grpadmin账号的密码已经无从知晓，参考Dell官方文档重置密码到出厂设置，步骤如下：</p>


<ol>
<li>将两个控制器中的其中一块拔出，避免重置密码时，两边控制器信息不同步导致冲突。</li>
<li>通过串口线连接到控制器，重启控制器，按Ctrl+P进入安装模式。</li>
<li>设置RESETPASSWORD变量，然后reload控制器。</li>
</ol>


<pre>
CFE&gt; setenv RESETPASSWORD 1
CFE&gt; reload
</pre>


<ol>
<li>默认密码是grpadmin，登录系统后重置密码。</li>
</ol>


<pre>
&gt; account select grpadmin passwd
Enter New Password: xxxxxxx
Retype password: xxxxxxx
</pre>



<blockquote><p>确保串行连接具备以下特性：<br />
• 9600 波特<br />
• 1 个停止位<br />
• 无奇偶校验<br />
• 8 个数据位<br />
• 无硬件流控制</p></blockquote>

<p>下面附上Dell的原文档，写的更加详细：</p>]]>
        <![CDATA[<p><b>Resetting the grpadmin Account Password</b></p>

<p>If you are unable to log in to a PeerStorage group and perform group modifications because you do not know the password for an account that has read-write permission, you can temporarily reset the grpadmin account password to the default factory-set password, which is grpadmin. This gives you the opportunity to log in to the group with read-write permission. You can then change the grpadmin account password to a known value.</p>

<p>Be sure that no other group administrator is changing the grpadmin account password when you are following the password recovery procedure, because this will cause the password reset to fail.</p>

<blockquote><p><b>Note:</b> Because you must power-cycle one group member as part of the password reset procedure, volumes with data stored on that member will be unavailable and active iSCSI connections to those volumes will be lost until the member is restarted. You may want to warn users of any impending offline volumes and iSCSI disconnections before resetting the password.</p></blockquote>

<p>To temporarily reset the grpadmin account password to the default factory-set password, follow these steps:</p>


<ol>
<li>On one group member, connect a Micro-D adapter cable and null modem cable to serial port 0 on the active control module and to a console. The active control module is indicated by the green control module status <span class="caps">LED </span>labeled <span class="caps">ACT, </span>which is located on the left side of the control module, to the left of the Ethernet port 0 connector.</li>
<li>Turn off power to the member (if you have dual power supplies, turn off both power supplies). Volumes with data located on the member will be offline and iSCSI connections to those volumes will be lost until the member is restarted.</li>
<li>If the member has two control modules, after it is shut down, locate the lock on the control module that is not connected to the Micro-D adapter. This is the control module that was the secondary control module, not the active control module. The lock is on the far left side of the control module, to the left of the text for the three status <span class="caps">LED</span>s. Loosen the Phillips screw that holds the lock in place, and then slide the lock to the right so that it partially covers the <span class="caps">LED </span>text. This will temporarily disable the control module and prevent it from interfering with the password reset procedure.</li>
<li>Turn on power to the member by turning on all the power supplies.</li>
<li>While the member is restarting, press Ctrl/p when the following message appears on the console:</li>
</ol>



<pre>
Press Ctrl/p to enter setup mode.
</pre>



<p>This will halt the boot process and allow you to enter commands to the boot monitor.<br />
6.At the <span class="caps">CFE</span>&gt; prompt, enter the following commands, which are case-sensitive and must be typed exactly as shown:</p>



<pre>
CFE&gt; setenv RESETPASSWORD 1
CFE&gt; reload
</pre>



<p>When the member restarts, the PeerStorage login prompt appears. After a short pause, the following message should appear:</p>



<pre>
WARNING:Password recovery mode... Temporarily resetting grpadmin password.
</pre>



<p>If you get the previous message, log in the the group using the grpadmin account and its factory-set password, grpadmin:</p>



<pre>
Login: grpadmin
Password: grpadmin
</pre>



<p>At this point, you are logged in to the group with read-write permission and can perform any group administration task. At this point, you should set the grpadmin account password to a known value. Use the procedure described in the Modifying Accounts section in the Group Administration manual or use the following command:</p>



<pre>
&gt; account select grpadmin passwd
Enter New Password: xxxxxxx
Retype password: xxxxxxx
</pre>



<blockquote><p><b>Note:</b> Unless you set the grpadmin account password within five minutes after the password recovery mode message appears, the grpadmin password will revert back to the value it had prior to the password reset procedure (that is, you will no longer be able to log in with the factory-set password). However, as long as you remain logged in to the grpadmin account, you can set the password to a known value.</p></blockquote>

<p>If the password recovery mode message does not appear, the password reset procedure did not succeed (for example, because you did not enter the <span class="caps">CFE </span>commands exactly as shown). In this case, allow the member to completely start up, and then retry the password reset procedure, shutting down the member and following the steps above.</p>

<p>If the member has two control modules, after logging in to the group and setting the grpadmin password, slide the lock on the disabled control module to the left. Tighten the Phillips screw gently to secure the lock. This restarts the secondary control module and allows it to be used.</p>

<p>Within one minute, you should see a console message, indicating that the secondary control module is operational.</p>]]>
    </content>
</entry>

<entry>
    <title>Network Adapter Driver for BL460c G7 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/03/network-driver-for-bl460c-g7.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.281</id>

    <published>2011-03-21T07:10:54Z</published>
    <updated>2011-03-23T04:39:49Z</updated>

    <summary>VMware 4.1 ESX Server 暂时不能支持 BL460c G7 FlexFabric驱动，VMware KB中提供了解决方法： To install VMWare ESX in BL460c G7, you need download network adapter driver as below: http://www.bitcon.be/?p=796 The HP ESX and ESXi 4.0 U2 and 4.1 images that support the ProLiant BL465c...</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>VMware 4.1 <span class="caps">ESX</span> Server 暂时不能支持 <span class="caps">BL460</span>c G7 FlexFabric驱动，VMware KB中提供了解决方法：</p>

<p>To install <span class="caps">VMW</span>are <span class="caps">ESX </span>in <span class="caps">BL460</span>c <span class="caps">G7, </span>you need download network adapter driver as below:</p>

<p><a href="http://www.bitcon.be/?p=796">http://www.bitcon.be/?p=796</a></p>

<p>The HP <span class="caps">ESX </span>and <span class="caps">ESX</span>i 4.0 U2 and 4.1 images that support the ProLiant <span class="caps">BL465</span>c <span class="caps">G7, BL685</span>c G7 and <span class="caps">BL460</span>c G7 are posted at the following link:</p>

<p><a href="https://h20392.www2.hp.com/portal/swdepot/displayProductsList.do?category=SVIRTUAL">https://h20392.www2.hp.com/portal/swdepot/displayProductsList.do?category=SVIRTUAL</a></p>

<p>As a reminder, the Emulex (ServerEngines) driver that enables the <span class="caps">BE2 </span>&amp; <span class="caps">BE3 </span>devices on the <span class="caps">BL465</span>c <span class="caps">G7, BL685</span>cG7 and <span class="caps">BL460</span>c G7 has been posted to the VMware website. To get this driver:</p>

<ol>
<li>Go to: <a href="http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4#drivers_tools">http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4#drivers_tools</a></li>
<li>Select "Driver CDs"</li>
<li>Select <a href="http://downloads.vmware.com/d/details/esx_esxi41_serverengines_dt/ZHcqYmRAaGViZHdlZQ==">VMware <span class="caps">ESX</span>/ESXi 4.x Driver CD for ServerEngines BladeEngine 10Gb Ethernet Controller version 2.102.440.0</a></li>
</ol>

<p>The HP Offline Bundle for VMware <span class="caps">ESX</span>i and the HP Management <span class="caps">SNMP</span> Agents for VMware <span class="caps">ESX</span> 4.0 U2 and 4.1 are posted at the following links:</p>

<p>Blade Servers links:<br />
<a href="http://h20180.www2.hp.com/apps/Nav?h_pagetype=s-001&amp;h_lang=en&amp;h_cc=us&amp;h_product=241641&amp;h_client=S-A-R163-1&amp;h_page=hpcom&amp;lang=en&amp;cc=us">http://h20180.www2.hp.com/apps/Nav?h_pagetype=s-001&amp;h_lang=en&amp;h_cc=us&amp;h_product=241641&amp;h_client=S-A-R163-1&amp;h_page=hpcom&amp;lang=en&amp;cc=us</a></p>

<p>ML/DL links:<br />
<a href="http://h20180.www2.hp.com/apps/Nav?h_pagetype=s-001&amp;h_lang=en&amp;h_cc=us&amp;h_product=241435&amp;h_client=S-A-R163-1&amp;h_page=hpcom&amp;lang=en&amp;cc=us">http://h20180.www2.hp.com/apps/Nav?h_pagetype=s-001&amp;h_lang=en&amp;h_cc=us&amp;h_product=241435&amp;h_client=S-A-R163-1&amp;h_page=hpcom&amp;lang=en&amp;cc=us</a></p>

<p>Also, HP has posted a VMware driver for our <span class="caps">PCI</span>e IO Accelerator:<br />
<a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=3709945&amp;prodSeriesId=4151345&amp;prodNameId=4157323&amp;swEnvOID=4040&amp;swLang=13&amp;mode=2&amp;taskId=135&amp;swItem=MTX-5263b0cf1350472a8a1930dda4">http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=3709945&amp;prodSeriesId=4151345&amp;prodNameId=4157323&amp;swEnvOID=4040&amp;swLang=13&amp;mode=2&amp;taskId=135&amp;swItem=MTX-5263b0cf1350472a8a1930dda4</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>VM超出256GB大小限制无法启动 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/03/vm-256g-limitation.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.280</id>

    <published>2011-03-15T08:06:59Z</published>
    <updated>2011-03-15T09:21:42Z</updated>

    <summary>昨天一同事报告VM无法启动，据说之前报空间不足，而且VM上做了很多SNAPSHOT，之前同事怀疑磁盘空间不足，所以删除了几个SNAPSHOT，不过删除SNAPSHOT并没有释放出多余的空间，之后尝试重启VM时，VM无法启动。 先是怀疑是不是存储空间满了，不过DataStore剩余空间还很多，应该是VM文件本身超出了大小限制。在创建DataStore的时候，选的Block Size是1MB，因此单个文件的大小限制是256GB。 VMFS Size Limitations Block SizeLargest virtual disk on VMFS-31MB256GB2MB512GB4MB1TB8MB2TB...</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>昨天一同事报告VM无法启动，据说之前报空间不足，而且VM上做了很多SNAPSHOT，之前同事怀疑磁盘空间不足，所以删除了几个SNAPSHOT，不过删除SNAPSHOT并没有释放出多余的空间，之后尝试重启VM时，VM无法启动。</p>

<p>先是怀疑是不是存储空间满了，不过DataStore剩余空间还很多，应该是VM文件本身超出了大小限制。在创建DataStore的时候，选的Block Size是1MB，因此单个文件的大小限制是256GB。</p>

<p><b><span class="caps">VMFS</span> Size Limitations</b></p>

<table><tr><td>Block Size</td><td>Largest virtual disk on <span class="caps">VMFS</span>-3</td></tr><tr><td>1MB</td><td>256GB</td></tr><tr><td>2MB</td><td>512GB</td></tr><tr><td>4MB</td><td>1TB</td></tr><tr><td>8MB</td><td>2TB</td></tr></table>]]>
        <![CDATA[<p>通过SSH直接登录到ESX Server，查看其中一个文件已经大小已经达到256GB，应该正是这个文件无法继续写入，才导致目前VM无法启动的状况。</p>

<p>还好公司新装的ESX Server都选择了4MB的Block Size，支持的最大文件大小达到1TB。经过与VMware TS确认，将文件传到支持超过256GB文件的ESX Server上，VM就应该能正常启动。</p>

<p>通过SCP传文件时，发现从一台ESX Server不能访问另外一条ESX Server的SSH端口。查下来是防火墙阻止了SSH <span class="caps">OUT</span>访问，最简单的解决方法是关闭防火墙服务。</p>

<pre><code>/etc/init.d/iptables stop</code></pre>

<p>将文件复制过来以后，执行下面的指令，注册VM：</p>

<pre><code>vmware-cmd -s register name.vmx</code></pre>

<p>最后，记得将防火墙重新打开。</p>]]>
    </content>
</entry>

<entry>
    <title>Solaris 10系统安装Perl模块 - 博客</title>
    <link rel="alternate" type="text/html" href="http://www.liaojl.com/archives/2011/02/solaris-perl-cpan.html" />
    <id>tag:www.liaojl.com,2011:/blog//2.279</id>

    <published>2011-02-12T04:51:56Z</published>
    <updated>2011-02-12T06:18:28Z</updated>

    <summary>前两天有同事要求在Solaris 10 Sparc系统中安装一个DBI::MySQL的模块，本来以为通过CPAN很容易就可以安装起来，不过装下来才知道有点麻烦，系统自带的Perl程序通过CPAN方式安装一直报错，最后从SunFreeware网站下载了5.8.8版本的Perl才安装成功。 系统默认已经安装了gmake和gcc，不过并没有将其加入$PATH环境变量中。 # pkginfo | grep gmake system SUNWgmake gmake - GNU make # pkginfo | grep gcc system SUNWgcc gcc - The GNU C compiler system SUNWgccruntime GCC Runtime libraries 将GNU相关包（gmake/gcc等）加入$PATH环境变量中： PATH=/usr/local/bin:$PATH:/usr/ccs/bin:/usr/sfw/bin...</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>前两天有同事要求在Solaris 10 Sparc系统中安装一个DBI::MySQL的模块，本来以为通过CPAN很容易就可以安装起来，不过装下来才知道有点麻烦，系统自带的Perl程序通过CPAN方式安装一直报错，最后从SunFreeware网站下载了5.8.8版本的Perl才安装成功。</p>

<p>系统默认已经安装了gmake和gcc，不过并没有将其加入$PATH环境变量中。</p>



<pre>
# pkginfo  | grep gmake
system      SUNWgmake gmake - GNU make

# pkginfo | grep gcc
system      SUNWgcc                          gcc - The GNU C compiler
system      SUNWgccruntime                   GCC Runtime libraries
</pre>



<p>将GNU相关包（gmake/gcc等）加入$PATH环境变量中：</p>



<pre>
PATH=/usr/local/bin:$PATH:/usr/ccs/bin:/usr/sfw/bin
</pre>]]>
        <![CDATA[<p>Solaris 10中的Perl模块，默认都是用CC来编译的，因为编译参数和GCC有区别，所以安装Perl模块的时候，编译会报错。现在Oracle Sun Studio已经可以免费下载了，从Oracle网站下载一个，安装时只需要安装C/C++ Complier即可。</p>

<p>系统默认安装的Perl 5.8.4版本，即使安装了gmake和cc还是无法正常安装模块，如果下载源代码直接手工编译安装倒是没有问题，最后只能到SunFreeware网站下载Perl 5.8.8版本才能正常工作。</p>



<pre>
pkgadd -d perl-5.8.8-sol10-sparc-local
</pre>



<p>并将Perl的路径添加到$PATH环境变量中，注意要将Perl的安装路径/usr/local/bin加在最前面，编辑/etc/profile文件：</p>



<pre>
PATH=/usr/local/bin:$PATH
</pre>



<p>至此，系统环境已经配置好，打开CPAN的Shell命令，先更新bundle::cpan模块。</p>



<pre>
# perl -MCPAN -e shell
cpan&gt; install bundle::cpan
cpan&gt; reload cpan
</pre>



<p>然后安装DBD::mysql等模块：</p>



<pre>
install DBI
DBD::mysql 
</pre>]]>
    </content>
</entry>

</feed>

