GPFS部署环境检查脚本
时间: 2023-10-17 22:05:16 浏览: 41
以下是检查IBM GPFS部署环境的脚本示例:
```bash
#!/bin/bash
# GPFS Environment Check Script
echo "Checking GPFS dependencies..."
# Check required packages are installed
rpm -qa | grep -q glibc-2.12 || { echo >&2 "glibc-2.12 not installed!"; exit 1; }
rpm -qa | grep -q kernel-headers-$(uname -r) || { echo >&2 "kernel-headers not installed!"; exit 1; }
rpm -qa | grep -q kernel-devel-$(uname -r) || { echo >&2 "kernel-devel not installed!"; exit 1; }
rpm -qa | grep -q libstdc++-4.4.7 || { echo >&2 "libstdc++-4.4.7 not installed!"; exit 1; }
rpm -qa | grep -q numactl-libs || { echo >&2 "numactl-libs not installed!"; exit 1; }
echo "Checking GPFS kernel parameters..."
# Check required kernel parameters are set
sysctl -q fs.file-max | grep -q '^[^#].*5242880' || { echo >&2 "fs.file-max not set to 5242880!"; exit 1; }
sysctl -q kernel.shmmax | grep -q '^[^#].*4294967296' || { echo >&2 "kernel.shmmax not set to 4294967296!"; exit 1; }
sysctl -q kernel.shmall | grep -q '^[^#].*2097152' || { echo >&2 "kernel.shmall not set to 2097152!"; exit 1; }
sysctl -q kernel.sem | grep -q '^[^#].*250 32000 32 512' || { echo >&2 "kernel.sem not set to 250 32000 32 512!"; exit 1; }
sysctl -q net.ipv4.ip_local_port_range | grep -q '^[^#].*1024 65535' || { echo >&2 "net.ipv4.ip_local_port_range not set to 1024 65535!"; exit 1; }
sysctl -q net.core.rmem_default | grep -q '^[^#].*262144' || { echo >&2 "net.core.rmem_default not set to 262144!"; exit 1; }
sysctl -q net.core.wmem_default | grep -q '^[^#].*262144' || { echo >&2 "net.core.wmem_default not set to 262144!"; exit 1; }
sysctl -q net.core.rmem_max | grep -q '^[^#].*16777216' || { echo >&2 "net.core.rmem_max not set to 16777216!"; exit 1; }
sysctl -q net.core.wmem_max | grep -q '^[^#].*16777216' || { echo >&2 "net.core.wmem_max not set to 16777216!"; exit 1; }
echo "GPFS environment check complete."
```
该脚本检查所需的软件包是否已安装,以及必需的内核参数是否设置为正确的值。如果检查失败,脚本将输出错误消息并退出。如果检查成功,则输出“GPFS environment check complete.”。请注意,该脚本需要以root用户身份运行才能执行sysctl命令。