linux重启多路径服务-Linux多路径服务重启指南 (linux重启命令)

教程大全 2025-07-12 10:17:03 浏览

在Linux系统中,多路径服务(multipath)是保证数据存储稳定性的常用技术。当存储设备出现故障或不可用时,多路径服务可以自动切换到可用路径继续读写数据。然而,在某些情况下,由于系统升级或出现异常,多路径服务可能会出现异常状态,导致数据存储不稳定。因此,本文将为您介绍如何在Linux系统中重启多路径服务,以确保数据存储安全稳定。

一、确认多路径服务的状态

在重启多路径服务之前,必须先确认当前多路径服务的状态。可以通过执行以下命令来查看:

# systemctl status multipathd

如果返回如下结果,则说明多路径服务正常运行:

multipathd.service – Device-Mapper Multipath Device Controller

Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2023-01-01 12:00:00 CST; 1 day 1h ago

如果返回如下结果,则说明多路径服务已停止运行:

multipathd.service – Device-Mapper Multipath Device Controller

Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled)

Active: inactive (dead) since Thu 2023-01-01 12:00:00 CST; 3 days ago

二、重启多路径服务

如果当前多路径服务处于停止状态,则需要执行以下步骤来重启多路径服务:

1. 停止多路径服务:

# systemctl stop multipathd

2. 验证多路径服务是否已停止:

# systemctl status multipathd

3. 启动多路径服务:

# systemctl start multipathd

4. 验证多路径服务是否已启动:

# systemctl status multipathd

执行上述步骤后,多路径服务应已启动并正常运行。

三、处理异常情况

如果多路径服务未能成功启动,则可能出现了异常情况。在这种情况下,你需要做以下事情:

1. 重新安装多路径软件

如果多路径服务无法启动,可能是由于多路径软件的安装出现问题。在这种情况下,您可以考虑重新安装多路径软件。

2. 检查日志信息

多路径服务的异常状态通常伴随着日志信息的记录,您可以通过以下命令来查看日志信息:

# journalctl -u multipathd

通过查看日志信息,您可以判断出当前问题的具体原因,并相应地解决。

3. 重启系统

如果以上两种方法都无法解决问题,您可以尝试通过重启系统来解决。在重启后,多路径服务应该能够成功启动。

本文介绍了如何在Linux系统中重启多路径服务。在出现多路径服务异常状态时,您可以通过以上方法来解决问题,以保证数据的安全存储。同时,建议您定期检查多路径服务的状态,以确保多路径服务始终处于正常运行状态。

相关问题拓展阅读:

linux什么情况下用到多路径

1、安装多路径软件包:

device-mapper-1.02.67-2.el5

device-mapper-event-1.02.67.2.el5

device-mapper-multipath-0.4.7-48.el5

view plain copy print?

# rpm -ivh device-mapper-1.02.67-2.el5.x86_64.rpm

warning: device-mapper-1.02.67-2.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID

Preparing… ###########################################

package device-mapper-1.02.67-2.el5.x86_64 is already installed

# rpm -ivh device-mapper-event-1.02.67-2.el5.x86_64.rpm

warning: device-mapper-event-1.02.67-2.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID

Preparing… ###########################################

package device-mapper-event-1.02.67-2.el5.x86_64 is already installed

# rpm -ivh device-mapper-multipath-0.4.7-48.el5.x86_64.rpm

warning: device-mapper-multipath-0.4.7-48.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID

Preparing… ###########################################

package device-mapper-multipath-0.4.7-48.el5.x86_64 is already installed

2、设置开游圆机启动,并检查做早安装包是否正常:

chkconfig –level 345 multipathd on

lod |grep dm_multipath

view plain copy print?

# chkconfig –level 345 multipathd on

# lod |grep dm_multipath

dm_multipath

scsi_dhdm_multipath

dm_moddm_mirror,dm_multipath,dm_raid45,dm_log

3、配置multipathd 使其正常工作,编辑/etc/multipath.conf,开放如下内容:

view plain copy print?

udev_dir /dev

polling_interval

selector “round-robin 0″神胡塌

path_grouping_policy multibus

getuid_callout”/in/scsi_id -g -u -s /block/%n”

prio_calloutnone

path_checkerreadsector0

rr_min_io 100

rr_weight priorities

failback immediate

no_path_retryfail

user_friendly_names yes

blacklist {

devnode “^(ram|raw|loop|fd|md|dm-|sr|scd|st)*”

devnode “^hd”

4、并关闭如下内容

view plain copy print?

#blacklist {

#devnode “*”

#defauLTS {

#user_friendly_names yes

5、完成之后执行如下命令发现多路径:

view plain copy print?

# modprobe dm-multipath

# multipath -F

# multipath dm-multipath

# multipath dm-round-robin

# service multipathd restart

正在关闭multipathd 端口监控程序:

正在启动守护进程multipathd:

# multipath -v2

# multipath -v2

# multipath -ll

mpath1 (3600db16a5d57c6a1bd99a) dm-0 TOYOU,NetStor_iSUM510

\_ round-robin 0

\_ 1:0:0:0 sdb 8:16

\_ 1:0:1:0 sdc 8:32

6、重启 服务器 后,我们可以看到多路径信息了:

view plain copy print?

# ll /dev/mapper/

总计 0

crwroot root 10,:35 control

brw-rwroot disk 253,:35 mpath1

brw-rwroot disk 253,:35 mpath2

# multipath -ll

mpath2 (3600db76128b9c63138cf4) dm-1 TOYOU,NetStor_iSUM510

\_ round-robin 0

\_ 1:0:0:1 sdc 8:32

\_ 1:0:1:1 SDE 8:64

mpath1 (3600db16a5d57c6a1bd99a) dm-0 TOYOU,NetStor_iSUM510

\_ round-robin 0

\_ 1:0:0:0 sdb 8:16

\_ 1:0:1:0 sdd 8:48

7、通过fdisk 看可以生成了DM-0/DM-1两个盘,正是上面sdc/sde,sdb/sdd多路径后出来的:

view plain copy print?

Disk /dev/sda: 299.4 GB,bytes

255 heads, 63 sectors/track,cylinders

Units = cylinders of* 512 =bytes

Device Boot StartEnd Blocks Id System

/dev/sda1 *+ 83 Linux

/dev/sda 83 Linux

Linux多路径服务重启指南

/dev/sda+ 83 Linux

/dev/sda+ 5 Extended

/dev/sda 83 Linux

/dev/sda 83 Linux

/dev/sda 82 Linux swap / Solaris

/dev/sda+ 83 Linux

Disk /dev/sdb: 21.4 GB,bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of* 512 =bytes

Disk /dev/sdb doesn’t contain a valid partition table

Disk /dev/sdc: 3568.4 GB, bytes

255 heads, 63 sectors/track,cylinders

Units = cylinders of* 512 =bytes

Disk /dev/sdc doesn’t contain a valid partition table

Disk /dev/sdd: 21.4 GB,bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of* 512 =bytes

Disk /dev/sdd doesn’t contain a valid partition table

Disk /dev/sde: 3568.4 GB, bytes

255 heads, 63 sectors/track,cylinders

Units = cylinders of* 512 =bytes

Disk /dev/sde doesn’t contain a valid partition table

Disk /dev/dm-0: 21.4 GB,bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of* 512 =bytes

Disk /dev/dm-0 doesn’t contain a valid partition table

Disk /dev/dm-1: 3568.4 GB, bytes

255 heads, 63 sectors/track,cylinders

Units = cylinders of* 512 =bytes

Disk /dev/dm-1 doesn’t contain a valid partition table

Disk /dev/sdf: 4009 MB,bytes

255 heads, 63 sectors/track, 487 cylinders

Units = cylinders of* 512 =bytes

Device Boot StartEnd Blocks Id System

/dev/sdf4 *+ b W95 FAT32

Partition 4 has different physical/logical endings:

phys=(486, 254, 63) logical=(487, 125, 22)

8、我们同时也可以在/dev/mapper目录中查看到多路径映射的信息:

view plain copy print?

# ll /dev/mapper/

总计 0

crwroot root 10,:49 control

brw-rwroot disk 253,:49>香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


嵌入式Linux系统下 如何在CPU占用率过高的时候重启

脚本就可以搞定的! 当发现CPU占用率过高时,会自动重启相关程序。 。 #设置最大内存占用百分比PID_MEM_MAX=”85″#设置最大系统负载SYS_LOAD_MAX=”1″#设置需要监控的服务名称NAME_LIST=”php5-cgimysql”forNAMEin$NAME_LISTdo#初始化内存统计PID_MEM_SUM=0#获取该程序总进程数PID_NUM_SUM=`psaux|grep$NAME|wc-l`#列出每个进程内存占用百分比PID_MEM_LIST=`psaux|grep$NAME|awk‘{print$4}’`#计算所有进程总内存占用forPID_MEMin$PID_MEM_LISTdoPID_MEM_SUM=`echo$PID_MEM_SUM+$PID_MEM|bc`done#获取最近一分钟系统负载SYS_LOAD=`uptime|awk‘{print$(NF-2)}’|sed‘s/,//’`#比较内存占用和系统负载是否超过阀值MEM_VULE=`awk‘BEGIN{print(‘”$PID_MEM_SUM”‘>=’”$PID_MEM_MAX”‘?”1″:”0″)}’`LOAD_VULE=`awk‘BEGIN{print(‘”$SYS_LOAD”‘>=’”$SYS_LOAD_MAX”‘?”1″:”0″)}’`#如果系统内存占用和系统负载超过阀值,则进行下面操作。 if[$MEM_VULE=1]||[$LOAD_VULE=1];then#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“killall$NAME”“(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>>/var/log/#正常停止服务/etc/init.d/$NAMEstopsleep3#强制关闭pkill$NAME#重启/etc/init.d/$NAMEstart#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”“(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>>/var/log/“$NAMEveryhealth!(MEM:$PID_MEM_SUM,LOAD:$SYS_LOAD)”>/dev/nullfidone以上代码保存为一个文件,例如:auto_添加计划任务,设置每分钟检查一次(注意文件的位置要搞正确)crontab-e*****/bin/bash/root/auto_请确保您的Linux系统中已经安装了bc,否则会出现错误。 查看是否安装了bc可以使用命令:bc-v如果没有安装,centos可以用yum-yinstallbc安装,然后执行命令:sh/bin/bash/root/auto_服务器根据CPU负载及内存占用自动重启的bashshell脚本:#!/bin/sh#usage:*/2****root/root/#[CentOS]VPS服务器根据CPU负载及内存占用自动重启脚本#设置最小剩余内存,一般至少要剩余50M可用(单位兆)FREE_MEM_MIN=”50″#设置最大系统负载SYS_LOAD_MAX=”3″#设置重启服务的最小剩余内存(单位兆)RESTART_FREE_MEM_MIN=”500″#设置需要监控的服务名称NAME_LIST=”httpdmysqld”forNAMEin$NAME_LISTdo#获得剩余内存(单位兆)FREE_MEM=`free-m|grepMem|awk‘{print$4}’`#获得已用内存(单位兆)#FREE_MEM=`free-m|grepMem|awk‘{print$3}’`#获取最近一分钟系统负载SYS_LOAD=`uptime|awk‘{print$(NF-2)}’|sed‘s/,//’`#比较内存占用和系统负载是否超过阀值MEM_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘<’”$FREE_MEM_MIN”‘?”1″:”0″)}’`LOAD_VULE=`awk‘BEGIN{print(‘”$SYS_LOAD”‘>=’”$SYS_LOAD_MAX”‘?”1″:”0″)}’`#测试结果#LOAD_VULE=”1″#echo$(date+”%y-%m-%d%H:%M:%S”)“DEBUG$NAME”“(FREE_MEM:$FREE_MEM|$MEM_VULE,LOAD:$SYS_LOAD|$LOAD_VULE)”>>/var/log/autoreboot_#如果系统内存占用和系统负载超过阀值,则进行下面操作。 if[$MEM_VULE=1]||[$LOAD_VULE=1];then#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“killall$NAME”“(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>>/var/log/#正常停止服务service$NAMEstopsleep3#强制关闭skill$NAME#重启sleep10foriin123doFREE_MEM=`free-m|grepMem|awk‘{print$4}’`MEM_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘>=’”$RESTART_FREE_MEM_MIN”‘?”1″:”0″)}’`if[`pgrep$NAME|wc-l`-le0]&&[$MEM_VULE=1]thenservice$NAMEstartsleep15echo“AutoStart:”$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”`ps-ef|grep$NAME|wc-l`>/var/log/#写入日志echo$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”“(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>>/var/log/_VULE=`awk‘BEGIN{print(‘”$FREE_MEM”‘>=’”$RESTART_FREE_MEM_MIN”‘?”1″:”0″)}’`if[`pgrep$NAME|wc-l`-le0]&&[$MEM_VULE=1]thenservice$NAMEstartsleep15echo“AutoStart:”$(date+”%y-%m-%d%H:%M:%S”)“start$NAME”`ps-ef|grep$NAME|wc-l`>/var/log/“$NAMEveryhealth!(FREE_MEM:$FREE_MEM,LOAD:$SYS_LOAD)”>/dev/nullfifidone

什么是 daemon 与服务 (service):daemon 的启动方式: service

知道了一些有关 daemon 的相关知识后,再来,那么我们如何启动一个 daemon 呢? 其实,我们知道所谓的 daemon 就是一支可以在系统背景下面运作的程式 (program) 啊, 所以,要启动该 daemon ,就是找到他的执行档,执行他就是了。 不过,因为该 daemon 的执行档所需要加的参数太多了!举例来说,你可以使用‘man syslogd’及‘man sshd’来查阅一下该 daemon 要启动时的设定参数!为了克服这样的困扰,所以各主要 Linux distributions 都会针对该服务设计一个比较亲和的 shell script 来进行启动的程序啊!那就是 /etc/init.d/ 底下的档案,以及 /etc/xinetd.d/ 底下的设定资料。 因此,启动服务的方法就变得很简单了。 只要设定好该服务的设定档,然后下达:1. 启动 stand alone 服务的方式:以 syslog 为例:[root@linux ~]# /etc/init.d/syslog start2. 启动 super daemon 服务的方式:以 telnet 为例:[root@linux ~]# vi /etc/xinetd.d/telnet (设定方式参考下节)[root@linux ~]# /etc/init.d/xinetd restart另外,除了这样的启动方式之外,我们还可以透过 Fedora ( Red Hat 系统 ) 所提供的 service 这个程式来进行 daemon 的启动喔!其实 service 仅是一支 script 啦, 他可以解析后面带有的参数,然后去到 /etc/init.d/ 去启动相对应的服务名称的 script 而已! 有兴趣的话,可以自行去解析 /sbin/service 这支 shell script 啊! 底下我们大略说明一下他的用法![root@linux ~]# service [service name] (start|stop|restart|...)参数:service name:亦即是需要启动的服务名称,需与 /etc/init.d/ 对应;start|... :亦即是该服务要进行的工作。 范例:范例一:重新启动 crond 这支 daemon :[root@linux ~]# service crond restart[root@linux ~]# /etc/init.d/crond restart在上面的范例当中,其实启动方式以 service 这个程式,或者直接去到 /etc/init.d/ 底下启动, 都一样啦!自行去解析 /sbin/service 就知道为啥了! ^_^Tips:事实上,在 Linux 系统中,要‘开或关某个 port ’,就是需要‘ 启动或关闭某个服务’啦!因此,你可以找出某个 port 对应的服务,程式对应的服务, 进而启动或关闭他,那么那个经由该服务而启动的 port ,自然就会关掉了!

如何添加永久静态路由

按 win键+X键,在弹出的列表中选择“命令提示符(管理员)”使用dos命令添加静态路由接下来我们所有的操作都是基于“route”命令来实现,可以再命令提示里面输入“ route ?”查看route命令的帮助及语法使用dos命令添加静态路由以图中内容为例,我这里添加了一条去往 10.10.10.0/24网段的静态路由,指定去往此网段的路由都走 172.20.153.254网关,确认添加的内容无误后按回车,弹出“操作完成!”内容表示路由添加成功;其中此处用到的几个参数的作用是:-p 表示永久路由,重启后不丢失Add 添加路由10.10.10.0 表示目的网段的网络地址Mask 固定命令,后面跟的是目标网段的子网掩码172.20.153.254 是去往目的网段的吓一跳使用dos命令添加静态路由可以通过“route print”命令来查看听见的静态路由使用dos命令添加静态路由可通过 “route delete 目的网段网络地址”删除添加的静态路由使用dos命令添加静态路由

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐