searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

MINIO由非自启动模式调整为自启动模式

2024-05-07 02:18:31
36
0

在初始部署MINIO时未考虑到服务自启动问题,导致服务器关机重启后MINIO未自动启动运行,进而影响到业务,为避免此问题再次发生,需要给MINIO配置自启动,评估考虑采用两种方案实现自启动

方案一:

在/etc/rc.local文件中配置MINIO的启动脚本

优点:简单快捷

缺点:只有机器重启时才会调度,如果机器没问题、服务挂掉了不会自动拉起

方案二:

使用systemd管理MINIO启停

优点:能解决机器没问题、服务挂掉时服务自启动问题,且能为MINIO提供启动、停止、重启、查看状态等命令工具

缺点:配置相对复杂

综合考虑决定使用方案二

 

配置步骤

一、分析现状

服务部署在/data/minio目录下,在/data/minio下有start.sh用来启动MINIO,在/data/minio下有stop.sh来关停MINIO

二、配置minio.service脚本

切换到root用户

到/etc/systemd/system目录下,新建minio.service文件

填入以下内容:

[Unit]
Description=MinIO
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/data/minio/minio

[Service]
Type=forking
WorkingDirectory=/data/minio/

#ExecUser
User=minio
Group=minio

ExecStart=/bin/bash /data/minio/start.sh

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

保存文件并退出

配置好后,执行以下命令,使配置生效

sudo chmod 755 minio.service
sudo systemctl daemon-reload
sudo systemctl enable minio.service

 

三、重启MINIO

用kill -9杀死当前运行的minio进程,并用systemctl start 启动minio。

参考指令如下:

# 切换到root用户
sudo -i
# ps -ef|grep minio 查看当前运行的minio进程号
ps -ef|grep minio
# minio   7119     1  0 Feb29 ?        00:18:31 /data/minio/minio ...
# kill -9 查出来的进程号,上述进程号为7119,每个环境的不一样,要注意替换
kill -9 7119
# 用systemd启动minio
sudo systemctl start minio

 

四、验证

用kill -9杀死当前minio进程,看是否会自动拉起;用systemctl stop、systemctl start、systemctl status验证systemd是否正常

参考指令如下:

# 切换到root用户
sudo -i
# ps -ef|grep minio 查看当前运行的minio进程号
ps -ef|grep minio
# minio    7119     1  0 Feb29 ?        00:18:31 /data/minio/minio ...
# kill -9 查出来的进程号,上述进程号为7119,每个环境的不一样,要注意替换
kill -9 7119
# ps -ef|grep minio 查看minio是否自启并生成了新的进程好
ps -ef|grep minio
# minio    27108     1  0 Feb29 ?        00:18:31 /data/minio/minio ...

# 用systemd停止minio
sudo systemctl stop minio
# ps -ef|grep minio 查看minio进程应该是无记录
ps -ef|grep minio 
# 用systemd查看minio状态
sudo systemctl status minio
# 结果应为 Active: failed 
# 用systemd启动minio
sudo systemctl start minio
# 用systemd查看minio状态
sudo systemctl status minio
# 结果应为 Active: active (running)

 

五、遇到的问题

配置完成后,在执行systemctl start minio时无法启动,报错如下:

-- The result is failed.
Apr 12 16:59:40 minio systemd[1]: Unit minio.service entered failed state.
Apr 12 16:59:40 minio systemd[1]: minio.service failed.
Apr 12 16:59:41 minio systemd[1]: minio.service holdoff time over, scheduling restart.
Apr 12 16:59:41 minio systemd[1]: Stopped MinIO.
-- Subject: Unit minio.service has finished shutting down
-- Defined-By: systemd
-- 
-- Unit minio.service has finished shutting down.
Apr 12 16:59:41 minio systemd[1]: start request repeated too quickly for minio.service
Apr 12 16:59:41 minio systemd[1]: Failed to start MinIO.
-- Subject: Unit minio.service has failed
-- Defined-By: systemd
-- 
-- Unit minio.service has failed.
-- 
-- The result is failed.

此问题是minio.service文件配置的

ExecStart=/data/minio/start.sh导致的,配置执行sh脚本时,需要带上bash服务全路径,改为

ExecStart=/bin/bash /data/minio/start.sh后,执行sudo systemctl daemon-reload重新加载minio.service即可

0条评论
作者已关闭评论
李****杰
2文章数
0粉丝数
李****杰
2 文章 | 0 粉丝
李****杰
2文章数
0粉丝数
李****杰
2 文章 | 0 粉丝
原创

MINIO由非自启动模式调整为自启动模式

2024-05-07 02:18:31
36
0

在初始部署MINIO时未考虑到服务自启动问题,导致服务器关机重启后MINIO未自动启动运行,进而影响到业务,为避免此问题再次发生,需要给MINIO配置自启动,评估考虑采用两种方案实现自启动

方案一:

在/etc/rc.local文件中配置MINIO的启动脚本

优点:简单快捷

缺点:只有机器重启时才会调度,如果机器没问题、服务挂掉了不会自动拉起

方案二:

使用systemd管理MINIO启停

优点:能解决机器没问题、服务挂掉时服务自启动问题,且能为MINIO提供启动、停止、重启、查看状态等命令工具

缺点:配置相对复杂

综合考虑决定使用方案二

 

配置步骤

一、分析现状

服务部署在/data/minio目录下,在/data/minio下有start.sh用来启动MINIO,在/data/minio下有stop.sh来关停MINIO

二、配置minio.service脚本

切换到root用户

到/etc/systemd/system目录下,新建minio.service文件

填入以下内容:

[Unit]
Description=MinIO
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/data/minio/minio

[Service]
Type=forking
WorkingDirectory=/data/minio/

#ExecUser
User=minio
Group=minio

ExecStart=/bin/bash /data/minio/start.sh

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

保存文件并退出

配置好后,执行以下命令,使配置生效

sudo chmod 755 minio.service
sudo systemctl daemon-reload
sudo systemctl enable minio.service

 

三、重启MINIO

用kill -9杀死当前运行的minio进程,并用systemctl start 启动minio。

参考指令如下:

# 切换到root用户
sudo -i
# ps -ef|grep minio 查看当前运行的minio进程号
ps -ef|grep minio
# minio   7119     1  0 Feb29 ?        00:18:31 /data/minio/minio ...
# kill -9 查出来的进程号,上述进程号为7119,每个环境的不一样,要注意替换
kill -9 7119
# 用systemd启动minio
sudo systemctl start minio

 

四、验证

用kill -9杀死当前minio进程,看是否会自动拉起;用systemctl stop、systemctl start、systemctl status验证systemd是否正常

参考指令如下:

# 切换到root用户
sudo -i
# ps -ef|grep minio 查看当前运行的minio进程号
ps -ef|grep minio
# minio    7119     1  0 Feb29 ?        00:18:31 /data/minio/minio ...
# kill -9 查出来的进程号,上述进程号为7119,每个环境的不一样,要注意替换
kill -9 7119
# ps -ef|grep minio 查看minio是否自启并生成了新的进程好
ps -ef|grep minio
# minio    27108     1  0 Feb29 ?        00:18:31 /data/minio/minio ...

# 用systemd停止minio
sudo systemctl stop minio
# ps -ef|grep minio 查看minio进程应该是无记录
ps -ef|grep minio 
# 用systemd查看minio状态
sudo systemctl status minio
# 结果应为 Active: failed 
# 用systemd启动minio
sudo systemctl start minio
# 用systemd查看minio状态
sudo systemctl status minio
# 结果应为 Active: active (running)

 

五、遇到的问题

配置完成后,在执行systemctl start minio时无法启动,报错如下:

-- The result is failed.
Apr 12 16:59:40 minio systemd[1]: Unit minio.service entered failed state.
Apr 12 16:59:40 minio systemd[1]: minio.service failed.
Apr 12 16:59:41 minio systemd[1]: minio.service holdoff time over, scheduling restart.
Apr 12 16:59:41 minio systemd[1]: Stopped MinIO.
-- Subject: Unit minio.service has finished shutting down
-- Defined-By: systemd
-- 
-- Unit minio.service has finished shutting down.
Apr 12 16:59:41 minio systemd[1]: start request repeated too quickly for minio.service
Apr 12 16:59:41 minio systemd[1]: Failed to start MinIO.
-- Subject: Unit minio.service has failed
-- Defined-By: systemd
-- 
-- Unit minio.service has failed.
-- 
-- The result is failed.

此问题是minio.service文件配置的

ExecStart=/data/minio/start.sh导致的,配置执行sh脚本时,需要带上bash服务全路径,改为

ExecStart=/bin/bash /data/minio/start.sh后,执行sudo systemctl daemon-reload重新加载minio.service即可

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0