Linux平台启动方式

Service方式启动

在Linux平台下执行service oscaragentd start可启动agent服务;执行service oscaragentd stop可停止agent服务;执行service oscaragentd restart可重启agent服务;执行service oscaragentd status可查询agent服务,如图所示:

../../../../_images/service.png

oscaragentd所在目录为/etc/init.d/目录下,也可以通过/etc/init.d/ oscaragentd start/stop/restart进行服务管理。

Systemctl方式启动

如果Linux平台支持systemctl管理服务, 安装oscaragent时将会在系统目录 /usr/lib/systemd/system/ 下注册文件名为 oscaragentd.service 的服务。

// 启动oscaragent服务
systemctl start oscaragentd

// 查询oscaragent服务状态
systemctl status oscaragentd

// 停止oscaragent服务
systemctl stop oscaragentd

// 允许oscaragent服务开机自启
systemctl enable oscaragentd

// 禁止oscaragent服务开机自启
systemctl disable oscaragentd

命令行方式启动

在控制台里若已配置SZ_OSCAR_HOME环境变量,可直接执行oscaragent -c启动agent服务,或切到神通数据库安装目录下bin目录,找到oscaragent,执行./oscaragent -c以命令行方式启动agent服务,Ctrl+C可停止agent服务。

非ROOT用户启动条件

非root用户安装 oscaragent 服务请查看文档 LINUX系统非root用户安装使用说明

oscaragent 运行,ipv4环境会调用 ip addr del (ipv6 环境会调用 ifconfig)去卸载浮动IP。 如果 oscaragent 是普通用户, 当调用 ip addr del 卸载浮动ip时,卸载进程需要 cap_net_admin,cap_net_raw,cap_sys_resource 权限。 如果普通用户没有以上执行 ip 或 ifconfig 的权限, 会造成权限不足的报错,oscaragent 将无法完成浮动ip的卸载。

对于非ROOT用户,有以下两种解决方式:

  1. 给要使用的程序 ip ifconfig 需要的cap_net_admin,cap_net_raw,cap_sys_resource 权限

使用 setcap cap_net_admin,cap_net_raw,cap_sys_resource=eip 命令修改ifconfig、ip 文件的权限

例如, 切换 root 用户,执行以下命令

setcap cap_net_admin,cap_net_raw,cap_sys_resource=eip "/usr/sbin/ifconfig"
setcap cap_net_admin,cap_net_raw,cap_sys_resource=eip "/bin/ip"
  1. 使用 chmod u+s 给程序所有用户执行权限

例如, 切换 root 用户,执行以下命令

chown -hR root:root /bin/ip
chmod u+s /bin/ip
chown -hR root:root /usr/sbin/ifconfig
chmod u+s /usr/sbin/ifconfig

修改完成后,重启oscaragent服务生效。