在将 IBM® WebSphere® Application Server 产品安装到 Solaris 操作系统之前,您必须采取步骤来准备操作系统。
重要提示: 2022年9月30日起,
WebSphere Application Server 系列产品将停止对 Solaris 操作系统的支持。 您可以为该操作系统购买扩展支持服务。 有关支持终止、延长支持及建议迁移方案的详细信息,请参阅《
软件支持终止公告》。
准备工作
安装过程使用安装管理器。 您可以使用图形界面、命令行或响应文件。
限制: 在远程 Solaris 机器上使用Cygwin/X运行基于 Eclipse 的应用程序存在已知问题。 这将影响您对 Profile Management Tool 的使用。 例如,在远程 Solaris 上存在 Cygwin/X
的情况下,将显示 Profile Management Tool 的欢迎面板,但不接受任何键盘或鼠标输入。 如果使用其他X服务器(例如Hummingbird Exceed),则不会出现这些问题。
重要提示: 在 Solaris 平台上,由于X服务器存在问题,远程 IBM Installation Manager 图形用户界面(GUI)处理仅支持通过VNC实现。
有关此任务
准备操作系统涉及到诸如为操作系统分配磁盘空间和安装补丁等更改。 IBM 在每个操作系统平台上测试 WebSphere Application Server 产品。 此类测试用于验证 WebSphere Application Server 产品是否需要操作系统变更才能正常运行。 若未进行必要的更改, WebSphere Application Server 产品将无法正常运行。
过程
- 登录至操作系统。
作为 root 用户或者作为非 root 安装程序登录。
选择允许所有者读写文件并允许其他人根据主要系统策略访问这些文件的 umask。 对于 root 用户,建议选择 umask 022。 对于非
root 用户,可以根据用户是否共享组而使用 umask 002 或 022。 要验证 umask 设置,请发出以下命令:
umask
要将 umask 设置设置为 022,请发出以下命令:
umask 022
- 在设置系统时,请确保在" 选择 Solaris 软件组 "面板上选择" 整个组 "选项。
- 可选: 下载并安装 MozillaFirefox 网络浏览器。
- 可选: 导出受支持浏览器的位置。
使用识别浏览器的实际位置的命令来导出受支持的浏览器的位置。
例如,如果 Mozilla Firefox 软件包位于
/opt/bin/firefox 目录中,您可以使用以下命令:
export BROWSER=/opt/bin/firefox
- 在您安装产品的计算机上,停止所有与 WebSphere Application Server 相关的Java™进程。
- 停止任何Web服务器进程,例如 IBM HTTP Server。
- 提供足够的磁盘空间。
需要的磁盘空间量随所安装的功能部件或产品数量不同而变化。 如果您要使用 Installation Manager 来安装产品,那么安装摘要面板将根据您选择的功能部件和产品来指出大约需要的磁盘空间量。
安装所有功能部件和产品大约需要 2 GB 磁盘空间。 此估计值包括下列产品、组件和功能部件所需要的磁盘空间:
- 主应用程序服务器产品安装版本
- 概要文件
- Sample applications
- IBM HTTP Server
- Web Server Plug-ins
- Application Client for WebSphere Application Server
如果打算从前一个版本迁移应用程序和配置,那么验证应用程序对象是否具有足够的磁盘空间。 作为粗略准则,计划空间等于应用程序大小的 110%。
- 设置内核值以支持 Application Server。
多个 Solaris 内核值通常太小。
内核值在 /etc/project 文件中设置。
资源控制设置在项目
/etc/system 文件中。 资源控制是 Solaris 11 的新增内容,并且将取代某些内核值的使用。
以下示例显示内核值的一些设置以及这些内核值的更改情况。
set semsys:seminfo_semmni = 1024 (a resource control in Solaris 11)
set semsys:seminfo_semmns = 16384 (removed in Solaris 11)
set semsys:seminfo_semmsl = 100 (a resource control in Solaris 11)
set semsys:seminfo_semopm = 100 (a resource control in Solaris 11)
set semsys:seminfo_semmnu = 2048 (removed in Solaris 11)
set rlim_fd_cur=1024
Solaris 11 操作系统
使用下列资源控制来替换
/etc/system 内核值:
Old Old New New
Resource control tunable default Max default
Value
---------------------- ------------- ------- --------- -----
process.max-msg-qbytes msginfo_msgmnb 4096 ULONG_MAX 65536
process.max-msg-messages msginfo_msgtql 40 UINT_MAX 8192
process.max-sem-ops seminfo_semopm 10 INT_MAX 512
process.max-sem-nsems seminfo_semmsl 25 SHRT_MAX 512
project.max-shm-memory shminfo_shmmax 0x800000 UINT64_MAX 1/4*
* (New default is 1/4 of physical memory)
project.max-shm-ids shminfo_shmmni 100 2**24 128
project.max-msg-ids msginfo_msgmni 50 2**24 128
project.max-sem-ids seminfo_semmni 10 2**24 128
现在,下列可调整项在
Solaris 11 操作系统中已过时:
Shared Memory Semaphores Message-Queue
-------------- -------------- ---------------
shminfo_shmseg seminfo_semmns msginfo_msgmax
shminfo_shmmin seminfo_semvmx msginfo_msgssz
shminfo_shmmax* seminfo_semmnu msginfo_msgmni*
shminfo_shmmni* seminfo_semaem msginfo_msgtql*
seminfo_semume msginfo_msgmnb*
seminfo_semusz msginfo_msgmap
seminfo_semmap msginfo_msgseg
seminfo_semmsl*
seminfo_semopm*
seminfo_semmni*
values ending in * are technically obsolete, but if they are present
in the /etc/system file then at system boot, the kernel will translate the
values into global resource controls.
以下是重要的资源控制:
*project.max-shm-ids: Maximum shared memory IDs for a project.
Replaces shmmni
*project.max-sem-ids: Maximum semaphore IDs for a project.
Replaces semmni
*project.max-msg-ids: Maximum message queue IDs for a project.
Replaces msgmni
*project.max-shm-memory: Total amount of shared memory allowed for a project.
Replaces shmmax
*process.max-sem-nsems: Maximum number of semaphores allowed persemaphore set.
Replaces semmsl
*process.max-sem-ops: Maximum number of semaphore operations allowed persemop.
Replaces semopm
*process.max-msg-qbytes: Maximum number of bytes of messages on a message queue.
Replaces msgmnb
*process.max-msg-messages: Maximum number of messages on a message queue.
Replaces msgtql
有关调整 Solaris 以与 WebSphere Application Server 协同运行的特定建议,请参阅调整 Solaris 系统主题。
通过编辑 Solaris 11 中的 /etc/project 文件,然后重新引导操作系统,可以更改内核值。 有关设置 Solaris 系统的更多信息,请参阅 Sun Microsystems 文档。 例如,《 Solaris 可调参数参考手册 》。
- 确认必备软件产品和并存产品符合所要求的发行版级别。
尽管 Installation Manager 会检查操作系统补丁的安装情况,但若您尚未查看过支持硬件和软件网站上的系统要求,请务必进行确认。 请参阅非 IBM 必备软件产品和并存产品的文档,以了解如何迁移到它们支持的版本。
注意: 如果您的 Solaris 系统未达到支持硬件和软件网站上指定的可用内存要求,安装过程中可能会遇到以下先决条件错误信息:
A supported operating system architecture was not detected若您继续完成安装,可能会看到以下磁盘空间不足的错误提示:
java.io.IOException: Cannot run program "sh": error=12, Not enough space
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
请释放机器上的更多内存,然后重试安装。
- 在使用emacs或其他免费软件时,请验证 cp 系统命令。
如果操作系统上安装了 emacs 或其他免费软件,那么验证是否使用了系统
cp 命令。
- 在运行 WebSphere Application Server 产品的安装程序之前,请输入以下命令提示符。
which cp
- 如果产生的目录输出包括 freeware,请从 PATH 中移除 freeware 目录。 例如,假设输出的内容与以下消息相似:.../freeware/bin/cp。 如果与此相似,请将该目录从 PATH 中移除。
- 安装 WebSphere Application Server 产品。
- 将 freeware 目录添加回到路径中。
若使用免费软件包中的命令 cp 进行安装,安装过程看似成功完成,但该产品安装的 Java 2 SDK 可能在 app_server_root/java 目录中存在文件缺失的情况。
缺少文件可能会破坏所需的符号链接。 如果您从 PATH 中移除 freeware cp 命令,那么可以成功地安装应用程序服务器产品。
- 若您自行创建了安装映像磁盘,请验证该磁盘上的Java SDK是否运行正常。
例如,您可能从 Passport Advantage® 下载了一个安装映像,或者将安装映像复制到备份磁盘上。 无论哪种情况,请执行以下步骤以验证磁盘是否包含有效的Java软件开发工具包(SDK)。
- 将目录切换到产品光盘上的目录 /JDK/jre.pak/repository/package.java.jre/java/jre/bin 。
例如:
cd /JDK/jre.pak/repository/package.java.jre/java/jre/bin
- 验证Java版本。
输入以下命令:
./java -version
如果 SDK 是完整的,那么会成功完成此命令且不会产生任何错误。
下一步做什么?
验证先决条件和产品磁盘空间并设置安装目标之后,就可以开始安装。 使用下列其中一个链接来打开您需要的安装过程。
完成安装之后,您可以检查以下设置脚本,以了解有关
Solaris 11 的初始设置的信息。
echo "V2014-06-20"
echo "master version -> https://rtpmsa.raleigh.ibm.com/msa/projects/t/testappbinaries/OS/ossetup.zip"
echo ""
#
#
### check if the .txt file exists
if [ ! -f "hostlist.txt" ]; then
echo "-- hostlist.txt file does not exist. cp hostlist.txt.TEMPLATE hostlist.txt and add your hosts"
echo "-- Processing halted"
exit 1
fi
for hostName in `cat hostlist.txt`
do
echo "checking: $hostName"
ssh $hostName 'grep "ulimit -n 20000" /etc/profile'
if [ $? != 0 ]; then
ssh $hostName 'echo "ulimit -n 20000" >> /etc/profile'
echo "set the ulimit on $hostName"
fi
ssh $hostName 'grep "semsys:seminfo_semopm = 200" /etc/system'
if [ $? != 0 ]; then
ssh $hostName 'echo "semsys:seminfo_semopm = 200" >> /etc/system'
echo "set the seminfo_semopm on $hostName"
fi
ssh $hostName 'ipadm set-prop -p _conn_req_max_q=8000 tcp'
ssh $hostName 'ipadm set-prop -p _time_wait_interval=30000 tcp'
ssh $hostName 'ipadm set-prop -p _fin_wait_2_flush_interval=67500 tcp'
ssh $hostName 'ipadm set-prop -p _keepalive_interval=300000 tcp'
done