简介:本资源是一份面向Linux系统运维工程师与国产化信创环境实施人员的麒麟服务器实战排障手册,聚焦银河麒麟高级服务器操作系统V10 SP2在生产部署中高频遇到的安装配置与运行问题。内容覆盖单用户模式进入、本地YUM源搭建、FTP/NFS/ISCIS服务配置、NTP时间同步、KVM虚拟化、Bond网卡绑定、VNC远程桌面、软RAID创建、防火墙管理及系统激活、密码重置、GRUB/BIOS密码恢复等核心场景,兼具操作步骤与排错逻辑,适合中级以上运维人员快速定位与解决实际问题。资源为单个PDF文件,大小2.76MB,结构清晰、图文结合、可读性强,目录即见完整知识脉络。已有634人学习下载,内容源自乙方交付甲方的标准化技术文档,经实践验证具备强落地性与复用价值。
1. 麒麟服务器运维不是“装完就跑”:一份覆盖重装、密码恢复、本地源搭建、时间同步、NFS/KVM/Bond/VNC 全流程的实战手册
你刚接手一台银河麒麟高级服务器操作系统 V10 SP2(Kylin-Server-10-SP2-Release-Build09-20210524),系统已激活但忘了 root 密码;或者刚重装完,发现 yum install 一堆报错,提示“Could not resolve host”;又或者客户要求在内网环境部署 NFS 共享存储,却卡在showmount: clnt_create: RPC: Port mapper failure;更别提 KVM 虚拟机启动失败、Bond 网卡绑定后双网卡不生效、VNC 连上黑屏、chrony 同步状态始终是^?……这些不是玄学,是麒麟 V10 SP2 在真实政企/信创交付现场高频踩坑点。这份《常见问题总结》不是理论文档,而是桂安俊工程师基于 2021 年 11 月实际交付项目整理的「血泪操作清单」——它把 16 类高频故障拆解成可复制、可验证、带参数、带路径、带报错对照的执行步骤。适合两类人:一是刚从 CentOS/RHEL 转型麒麟的运维老手,需要快速建立「麒麟语感」;二是信创项目交付工程师,面对甲方临时加的「今晚必须通电上线」需求,能直接抄命令、改 IP、跑脚本。它不讲 Linux 基础原理,只告诉你:在哪改、改什么、为什么这么改、改错会报什么错、怎么回滚。
2. 本地 YUM 源搭建:从单机 file 源到跨网段 HTTP 源的完整闭环
银河麒麟 V10 SP2 默认使用外网源,但在无外网、高安全等级或批量部署场景下,本地 YUM 源是刚需。这份手册提供了两种生产级方案:file 方式适用于单台服务器离线维护;HTTP 方式则支撑整个内网集群共享更新。二者核心差异不在命令本身,而在路径权限、服务依赖和防火墙策略的组合校验。很多翻车案例,根源不是命令写错,而是/mnt挂载后未cp -r到持久目录,导致重启后镜像丢失;或是 HTTP 源配置了baseurl=http://192.168.1.21/repo/,却忘了systemctl restart httpd后没验证curl -I http://192.168.1.21/repo/repodata/repomd.xml是否返回 200。下面分步拆解。
2.1 file 本地源:单机离线安装的最小可行方案
该方案本质是将 ISO 镜像内容固化为本地文件系统路径,并通过yum的file://协议读取。关键在于「挂载→拷贝→配置→验证」四步闭环,缺一不可。
# 步骤1:挂载 ISO 并拷贝到持久路径(注意:/mnt 是临时挂载点,重启即失效) mkdir -p /mnt/iso mount -o loop Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso /mnt/iso mkdir -p /opt/kylin-repo cp -r /mnt/iso/* /opt/kylin-repo/ umount /mnt/iso # 步骤2:备份原 repo 并新建本地配置(文件名必须以 .repo 结尾) cd /etc/yum.repos.d mkdir backup mv *.repo backup/ cat > kylin-local.repo << 'EOF' [localrepo] name=Kylin Server 10 SP2 Local Repo baseurl=file:///opt/kylin-repo gpgcheck=0 enabled=1 EOF # 步骤3:清理缓存并验证源可用性(重点看 repolist 输出是否含 localrepo) yum clean all yum repolist | grep localrepo逻辑说明:
baseurl=file:///opt/kylin-repo中的三个斜杠是绝对路径标识符,/opt/kylin-repo必须存在且包含repodata/目录(由cp -r自动带入)。gpgcheck=0关闭 GPG 签名校验,因麒麟官方 ISO 内部包未签名或签名密钥未预置;若需开启校验,需额外导入RPM-GPG-KEY-Kylin并设gpgcheck=1。enabled=1是开关,设为 0 则该源被忽略。
2.2 HTTP 共享源:支撑 50+ 节点内网集群的稳定分发方案
当多台服务器需共用同一套软件包时,HTTP 源是标准做法。其难点不在httpd安装,而在于 SELinux 上下文、目录权限、防火墙端口放行三者的协同。麒麟 V10 SP2 默认启用 SELinux,若仅chmod 755 /var/www/html/repo而不修复上下文,httpd进程将无法读取该目录,导致浏览器访问http://IP/repo/返回 403 Forbidden。
# 步骤1:安装并配置 httpd(麒麟 SP2 自带,无需额外源) yum install -y httpd systemctl enable httpd systemctl start httpd # 步骤2:准备 repo 目录并修复 SELinux 上下文(关键!) mkdir -p /var/www/html/repo cp -r /opt/kylin-repo/* /var/www/html/repo/ chcon -R -t httpd_sys_content_t /var/www/html/repo/ # 步骤3:防火墙放行 80 端口(必须 reload 才生效) firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload # 步骤4:验证 HTTP 可访问(在服务端执行) curl -I http://localhost/repo/repodata/repomd.xml | head -1 # 应返回 HTTP/1.1 200 OK # 步骤5:客户端配置(所有需使用该源的服务器均执行) cd /etc/yum.repos.d mkdir backup-client mv *.repo backup-client/ cat > kylin-http.repo << 'EOF' [httprepo] name=Kylin Server 10 SP2 HTTP Repo baseurl=http://192.168.1.21/repo gpgcheck=0 enabled=1 EOF yum clean all yum repolist参数说明:
chcon -R -t httpd_sys_content_t将/var/www/html/repo目录及其子目录的 SELinux 类型设为httpd_sys_content_t,这是httpd进程读取静态内容的默认类型。若跳过此步,sestatus -v查看 SELinux 状态时,httpd进程的 AVC 拒绝日志会大量刷屏。baseurl中的 IP 地址192.168.1.21必须替换为 HTTP 服务端的实际内网 IP,且该 IP 需能被所有客户端路由可达。
2.3 避坑:YUM 源配置的四大典型翻车现场
现象、原因、解决,一条一条对齐真实交付中的报错:
现象:
yum repolist显示0 packages,baseurl路径确认无误
原因:ISO 挂载后未cp -r到持久目录,/mnt/iso下内容在重启后消失,file://指向空目录
解决:检查/opt/kylin-repo/repodata/repomd.xml是否存在且非空;若不存在,重新挂载 ISO 并执行cp -r现象:浏览器访问
http://192.168.1.21/repo/返回 403 Forbidden
原因:SELinux 上下文未修复,或/var/www/html/repo目录权限不足(如chmod 700)
解决:执行ls -Z /var/www/html/repo确认类型为httpd_sys_content_t;执行chmod 755 /var/www/html/repo;若仍失败,临时setenforce 0测试是否 SELinux 导致现象:客户端
yum install lrzsz报错Cannot download 'http://192.168.1.21/repo/...': Cannot connect to host
原因:客户端网络不可达服务端 IP,或服务端防火墙未放行 80 端口,或httpd服务未启动
解决:在客户端执行ping 192.168.1.21;在服务端执行ss -tlnp | grep :80确认httpd监听;执行firewall-cmd --list-ports确认 80/tcp 已放行现象:
yum install成功但安装的软件包版本与 ISO 中不符(如 ISO 含kernel-4.19.90-*.rpm,却装了kernel-4.19.113-*.rpm)
原因:baseurl指向了错误路径(如/repo/末尾多斜杠/repo//),或repodata/目录损坏
解决:检查baseurl末尾无多余斜杠;进入/var/www/html/repo/repodata/,执行createrepo --update .重建元数据(需先yum install createrepo)
3. 时间同步实战:ntp、chrony、crond+ntpdate 三种模式的选型与落地
麒麟 V10 SP2 默认预装chrony,但很多老系统管理员习惯ntp,而部分自动化脚本仍依赖ntpdate。三者并非互斥,而是适用场景不同:ntp适合稳定、低延迟的局域网时间服务器;chrony更适应网络抖动大、间歇性断网的环境(如移动办公终端);crond+ntpdate则是轻量级定时强制校时方案。手册中给出的配置看似简单,但实际部署中,90% 的时间不同步问题源于防火墙 UDP 123 端口未放行、服务端未监听、或客户端未指定正确 server 地址。
3.1 chrony 方案:麒麟 SP2 官方推荐,抗网络抖动能力强
chrony是麒麟 V10 SP2 的默认时间服务,其优势在于即使网络短暂中断,也能通过 driftfile 记录时钟漂移率,恢复后快速收敛。配置核心是服务端allow指令与客户端server指令的匹配。
# 服务端配置(IP: 192.168.1.100) # 编辑 /etc/chrony.conf,确保以下行存在且未注释 cat >> /etc/chrony.conf << 'EOF' # 允许内网客户端同步 allow 192.168.1.0/24 # 使用硬件时钟作为参考(可选) hwclockfile /etc/adjtime EOF systemctl restart chronyd # 验证监听状态 ss -uln | grep :123 # 客户端配置(所有需同步的服务器) # 编辑 /etc/chrony.conf,注释掉原有 server 行,添加: sed -i '/^server/d' /etc/chrony.conf echo "server 192.168.1.100 iburst" >> /etc/chrony.conf systemctl restart chronyd # 验证同步状态(输出含 ^* 表示成功) chronyc sources -v | grep "\^\*"逻辑说明:
iburst参数表示初始阶段发送 8 个包加速同步;allow 192.168.1.0/24限定可同步的客户端网段,提升安全性;hwclockfile指向硬件时钟校准文件,避免系统重启后时间跳变。chronyc sources -v输出中,^*表示当前选定的主时间源,^+表示备用源,^-表示未使用源。
3.2 ntp 方案:传统稳定,适合对时钟精度要求极高的场景
ntp在麒麟 SP2 中需手动安装,其配置更显式,但对网络稳定性要求更高。若ntpq -p输出中*号长时间不出现,大概率是服务端未启动ntpd或防火墙阻断。
# 服务端(IP: 192.168.1.100) yum install -y ntp ntpdate # 编辑 /etc/ntp.conf,确保有如下行 echo "restrict default kod nomodify notrap nopeer noquery" > /etc/ntp.conf echo "restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap" >> /etc/ntp.conf echo "server 127.127.1.0" >> /etc/ntp.conf echo "fudge 127.127.1.0 stratum 10" >> /etc/ntp.conf systemctl enable ntpd systemctl start ntpd # 客户端 yum install -y ntp ntpdate # 编辑 /etc/ntp.conf,注释原 server,添加 sed -i '/^server/d' /etc/ntp.conf echo "server 192.168.1.100 iburst" >> /etc/ntp.conf systemctl restart ntpd # 验证(等待 2-5 分钟,* 号出现即成功) ntpq -p参数说明:
restrict指令控制访问权限,nomodify notrap禁止客户端修改服务端时间;server 127.127.1.0是本地时钟源,stratum 10设为较低层级,避免被其他 NTP 服务器当作权威源。ntpq -p中*表示当前同步源,+表示候选源,-表示拒绝源。
3.3 crond+ntpdate 方案:轻量级定时强制校时,规避服务长期运行风险
对于不允许长期运行时间服务的合规场景(如等保三级要求定期校时),crond+ntpdate是最简方案。其本质是绕过守护进程,每次执行独立校时命令。
# 客户端执行(无需安装 ntp,仅需 ntpdate) yum install -y ntpdate # 添加定时任务(每10分钟校时一次,并写入硬件时钟) (crontab -l 2>/dev/null; echo "*/10 * * * * /usr/sbin/ntpdate 192.168.1.100 && /sbin/hwclock -w") | crontab - # 手动测试 ntpdate 192.168.1.100 hwclock -w date # 检查系统时间是否已更新逻辑说明:
&& /sbin/hwclock -w确保系统时间更新后立即写入 BIOS 硬件时钟,避免重启后时间回退。crontab中的*/10表示每 10 分钟执行一次,可根据业务要求调整为0 */2 * * *(每两小时)或0 2 * * *(每日凌晨 2 点)。
3.4 避坑:时间同步的三大隐形杀手
现象:
chronyc sources -v输出全为^?,无^*
原因:客户端server地址错误,或服务端allow网段未覆盖客户端 IP,或防火墙 UDP 123 端口未放行
解决:在客户端执行chronyc tracking查看System clock状态;执行nc -uzv 192.168.1.100 123测试 UDP 连通性;检查服务端firewall-cmd --list-ports现象:
ntpq -p显示reach值为 0,delay为*
原因:服务端ntpd未启动,或客户端server行未生效(配置文件语法错误)
解决:服务端执行systemctl status ntpd;客户端执行ntpq -c rv查看配置加载状态;检查/etc/ntp.conf是否有语法错误(如缺少分号)现象:时间同步成功,但
date显示正确,hwclock --show显示错误(相差数小时)
原因:系统时区设置与硬件时钟不一致,麒麟默认硬件时钟为 UTC,但系统显示为 CST
解决:执行timedatectl set-timezone Asia/Shanghai;执行hwclock --systohc将系统时间写入硬件时钟;重启后验证date与hwclock --show一致
4. NFS 与 iSCSI 存储搭建:企业级共享存储的双轨实践
在麒麟服务器集群中,NFS 用于文件级共享(如日志集中存储、代码仓库),iSCSI 则提供块级存储(如虚拟机磁盘、数据库裸设备)。二者配置逻辑迥异:NFS 依赖rpcbind和nfs-server服务协同,iSCSI 则需targetcli构建 target 并导出 LUN。手册中 NFS 配置简洁,但实际交付中常因no_root_squash权限滥用或exports语法错误导致挂载失败;iSCSI 部分虽未展开,但其targetcli交互式配置易出错,需严格遵循backstores → targets → luns → acls流程。
4.1 NFS 服务端:从目录创建到 export 权限的精细控制
NFS 的核心是/etc/exports文件,其语法看似简单,但rw、no_root_squash、sync等选项组合直接影响安全性与性能。no_root_squash若滥用,将使客户端 root 用户获得服务端 root 权限,是重大安全隐患。
# 步骤1:创建共享目录并设置权限(谨慎!) mkdir -p /data/nfs-share chmod 755 /data/nfs-share # 非 root 用户可读,root 可写 chown nobody:nobody /data/nfs-share # NFS 默认映射用户为 nobody # 步骤2:编辑 exports 文件(精确指定客户端 IP,禁用通配符 *) cat > /etc/exports << 'EOF' /data/nfs-share 192.168.1.50(rw,sync,no_subtree_check,anonuid=65534,anongid=65534) /data/nfs-share 192.168.1.51(rw,sync,no_subtree_check,anonuid=65534,anongid=65534) EOF # 步骤3:重载 exports 并启动服务 exportfs -ra systemctl enable rpcbind nfs-server systemctl start rpcbind nfs-server # 步骤4:防火墙放行 NFS 相关端口(麒麟 SP2 使用固定端口) firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --permanent --add-service=mountd firewall-cmd --reload逻辑说明:
anonuid=65534和anongid=65534将客户端匿名用户映射为服务端nobody用户(UID/GID 65534),避免no_root_squash带来的提权风险;no_subtree_check提升挂载性能;sync确保数据写入磁盘后再返回,保障一致性。firewall-cmd --add-service=比单独放行端口更可靠,因 NFS 动态端口由rpcbind分配。
4.2 NFS 客户端:挂载与 fstab 自启的健壮写法
客户端挂载需区分临时挂载与永久挂载。fstab中的_netdev选项至关重要,它确保网络就绪后再挂载,避免开机卡死。
# 步骤1:创建挂载点 mkdir -p /mnt/nfs-data # 步骤2:临时挂载测试(-t nfs4 指定 NFS v4 协议,更安全) mount -t nfs4 -o vers=4.2,hard,intr,rsize=32768,wsize=32768 192.168.1.100:/data/nfs-share /mnt/nfs-data # 步骤3:写入 fstab 实现开机自启(关键:_netdev 选项) echo "192.168.1.100:/data/nfs-share /mnt/nfs-data nfs4 vers=4.2,hard,intr,rsize=32768,wsize=32768,_netdev 0 0" >> /etc/fstab # 步骤4:测试 fstab 配置(不重启) mount -a df -Th | grep nfs参数说明:
vers=4.2强制使用 NFS v4.2,避免 v3 的安全缺陷;hard表示挂载点不可卸载,intr允许用 Ctrl+C 中断挂载;rsize/wsize=32768设置读写块大小为 32KB,提升大文件传输效率;_netdev告诉 systemd 等待网络服务启动后再执行挂载。
4.3 iSCSI Target 配置:targetcli 的标准操作链
iSCSI 配置需targetcli工具,其交互式界面易出错。标准流程为:创建 backstore(存储后端)→ 创建 target(iSCSI 目标)→ 创建 lun(逻辑单元)→ 设置 acl(访问控制列表)→ 启动 target。
# 步骤1:安装并启动 targetcli yum install -y targetcli systemctl enable target systemctl start target # 步骤2:使用 targetcli 创建 target(以下为交互式命令序列) targetcli << 'EOF' /backstores/block create kylin-disk /dev/sdb /iscsi create iqn.2021-01.com.kylin:storage /iscsi/iqn.2021-01.com.kylin:storage/tpg1/luns create /backstores/block/kylin-disk /iscsi/iqn.2021-01.com.kylin:storage/tpg1/acls create iqn.2021-01.com.kylin:client /iscsi/iqn.2021-01.com.kylin:storage/tpg1/portals create saveconfig exit EOF # 步骤3:防火墙放行 iSCSI 端口(默认 3260) firewall-cmd --permanent --add-port=3260/tcp firewall-cmd --reload逻辑说明:
/dev/sdb是物理磁盘设备,需提前fdisk -l确认;iqn.2021-01.com.kylin:storage是 target 名称,格式为iqn.YYYY-MM.reverse.domain:name;acl中的iqn.2021-01.com.kylin:client是客户端 initiator 名称,需在客户端/etc/iscsi/initiatorname.iscsi中预先配置。saveconfig将配置持久化到/etc/target/saveconfig.json。
4.4 避坑:NFS/iSCSI 的五大致命配置错误
现象:
showmount -e 192.168.1.100返回clnt_create: RPC: Port mapper failure
原因:rpcbind服务未启动,或防火墙未放行rpc-bind服务
解决:执行systemctl status rpcbind;执行firewall-cmd --list-services | grep rpc-bind现象:客户端
mount成功,但ls /mnt/nfs-data报错Permission denied
原因:服务端/data/nfs-share目录权限不足,或exports中未设置anonuid/anongid
解决:服务端执行ls -ld /data/nfs-share,确保nobody用户有读写权限;检查exports中anonuid是否匹配nobodyUID现象:iSCSI 客户端
iscsiadm -m discovery -t st -p 192.168.1.100无返回
原因:服务端target未启动,或防火墙未放行 3260 端口,或portals未创建
解决:服务端执行targetcli ls确认 target 状态;执行ss -tlnp | grep :3260;执行firewall-cmd --list-ports现象:NFS 挂载后写入文件,服务端
ls -l显示所有者为nobody,而非预期用户
原因:客户端未配置uid/gid映射,或服务端exports未设置all_squash
解决:客户端挂载时加uid=1000,gid=1000参数;或服务端exports中改为all_squash,anonuid=1000,anongid=1000现象:
fstab中 NFS 挂载项导致系统启动卡在A start job is running for /mnt/nfs-data
原因:缺少_netdev选项,系统在网络未就绪时尝试挂载
解决:编辑/etc/fstab,在 options 字段末尾添加, _netdev;执行systemctl daemon-reload
5. 系统救援与安全加固:单用户模式、密码重置、防火墙、RAID 的硬核组合
当服务器无法正常登录、服务崩溃或遭遇安全审计时,单用户模式是最后的救命稻草;而密码复杂度、防火墙规则、软 RAID 则是日常运维的基石。手册中单用户模式步骤看似简单,但rw single init=/bin/bash的拼写错误、grub 密码输入错误、或chroot后未exec /bin/bash,都会导致进入假单用户。同样,firewall-cmd的--permanent与--reload必须成对出现,否则重启后规则丢失。
5.1 单用户模式:绕过登录认证的终极救援通道
单用户模式本质是让内核启动时直接进入 root shell,跳过 init 系统。其关键在于 grub 编辑时的参数追加位置与语法。
# 步骤1:重启服务器,在 grub 菜单按 'e' 进入编辑 # 步骤2:定位到以 'linux' 开头的行(通常第二行),在行尾添加: # rw single init=/bin/bash console=tty0 # 注意:必须在同一行末尾添加,不能换行;'rw' 和 'single' 间有空格 # 步骤3:按 Ctrl+X 启动,进入 bash shell # 步骤4:重置 root 密码(关键:需 remount 为读写) mount -o remount,rw / passwd root # 步骤5:强制同步并重启 exec /bin/bash sync exec /sbin/init逻辑说明:
mount -o remount,rw /是必须步骤,因单用户模式下根文件系统默认为只读;exec /bin/bash重新加载 shell 环境;exec /sbin/init退出单用户,正常启动系统。若忘记sync,密码可能未写入磁盘,重启后失效。
5.2 密码复杂度策略:用 PAM 模块强制合规
麒麟 V10 SP2 默认密码策略宽松,需通过pam_pwquality模块强化。手册中仅提及设置,但未说明如何验证策略生效。
# 步骤1:安装并配置 pam_pwquality yum install -y libpwquality # 编辑 /etc/pam.d/system-auth,找到 password requisite 行,修改为: sed -i '/password.*requisite.*pam_pwquality.so/s/$/ retry=3 minlen=10 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1/' /etc/pam.d/system-auth # 步骤2:验证策略(尝试设置弱密码应失败) echo "weak123" | passwd --stdin root 2>&1 | grep "weak" # 应输出 "BAD PASSWORD: The password is shorter than 10 characters"参数说明:
minlen=10要求最小长度 10;dcredit=-1要求至少 1 位数字;ucredit=-1要求至少 1 位大写字母;lcredit=-1要求至少 1 位小写字母;ocredit=-1要求至少 1 位特殊字符;retry=3允许重试 3 次。
5.3 防火墙 firewall-cmd:从基础放行到 zone 管理的进阶
firewalld的核心是zone(区域),public是默认 zone,但生产环境建议创建trustedzone 用于内网管理。
# 步骤1:创建 trusted zone 并添加内网网卡 firewall-cmd --permanent --new-zone=trusted firewall-cmd --permanent --zone=trusted --add-interface=ens33 firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24 # 步骤2:为 trusted zone 放行全部服务 firewall-cmd --permanent --zone=trusted --add-service=ssh firewall-cmd --permanent --zone=trusted --add-service=http firewall-cmd --permanent --zone=trusted --add-service=https firewall-cmd --permanent --zone=trusted --add-service=nfs firewall-cmd --permanent --zone=trusted --add-service=rpc-bind firewall-cmd --permanent --zone=trusted --add-service=mountd # 步骤3:重载并验证 firewall-cmd --reload firewall-cmd --zone=trusted --list-all逻辑说明:
--add-interface将物理网卡绑定到 zone;--add-source将 IP 段绑定到 zone;--add-service是预定义服务名,比--add-port更安全(自动处理相关端口)。firewall-cmd --list-all-zones可查看所有 zone 状态。
5.4 软 RAID 创建:mdadm 的企业级数据保护
软 RAID 是成本最低的冗余方案。手册中未详述,但mdadm创建 RAID1 需注意--metadata=1.2兼容性及--spare-devices预留热备盘。
# 步骤1:准备两块同容量磁盘(如 /dev/sdb, /dev/sdc) # 步骤2:创建 RAID1(--metadata=1.2 兼容旧 BIOS) mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 --metadata=1.2 /dev/sdb /dev/sdc # 步骤3:格式化并挂载 mkfs.ext4 /dev/md0 mkdir /data/raid1 mount /dev/md0 /data/raid1 # 步骤4:保存 RAID 配置(关键!否则重启后 md0 消失) mdadm --detail --scan >> /etc/mdadm.conf echo "ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2" >> /etc/mdadm.conf # 步骤5:写入 fstab echo "/dev/md0 /data/raid1 ext4 defaults 0 0" >> /etc/fstab逻辑说明:
--metadata=1.2指定元数据格式,兼容性最好;/etc/mdadm.conf是 RAID 配置文件,mdadm --detail --scan生成标准格式;fstab中使用/dev/md0而非/dev/sdb,因 RAID 设备名稳定。
5.5 避坑:系统救援与安全的四大高危操作
- 现象:单用户模式下
passwd root执行后,重启仍无法用新密码登录
原因:未执行mount -o remount,rw /,密码写入只读文件系统失败;或未执行sync,数据未刷入磁盘
解决:进入单用户后第一句执行mount -o remount,rw /;执行passwd后执行sync;最后 `
本文还有配套的精品资源,点击获取