服务器追加1对新硬盘并做RAID1

日文Redhat5.3系统硬盘扩容
本文介绍了一台使用日文Redhat5.3系统的2U Dell服务器进行硬盘扩容的过程。服务器原本配置为两块500G SCSI硬盘组成的RAID1,现需新增两块1T硬盘并将系统迁移至新RAID1上。
项目中的一台应用服务器,由于存放比较大的地图数据,硬盘需要扩容。服务器是2U的Dell服务器,操作系统使用日文Redhat5.3系统。原本配置两块500G的SCSI硬盘,磁盘阵列做了RAID1,现在需要增容1T。
一、硬件安装及RAID1增加。准备好两块型号相同的SCSI硬盘,装入硬盘插槽。启动系统,进入BIOS,在磁盘阵列配置中,检测识别,新追加的两块1T硬盘。然后,追加一个新的Array,具体操作这里就不做详细说明了。
二、硬盘的分区及最终挂载。
1、确认做好的RAID1设备是否存在。(原有的系统的设备是sdb)
执行命令: dmesg |grep sd
[root@ODCDTCFW /]# dmesg |grep sd
SCSI device sda: 1952448512 512-byte hdwr sectors (999654 MB)
2、查询设备信息。
执行设备信息查询命令:fdisk -l
Disk /dev/sda: 999.6 GB, 999653638144 bytes
255 heads, 63 sectors/track, 121534 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sda は正常な領域テーブルを含んでいません

Disk /dev/sdb: 499.5 GB, 499558383616 bytes
255 heads, 63 sectors/track, 60734 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         382     3068383+  83  Linux
/dev/sdb2             383        2294    15358140   83  Linux
/dev/sdb3            2295        3441     9213277+  82  Linux swap / Solaris
/dev/sdb4            3442       60734   460206022+   5  拡張領域
/dev/sdb5            3442        4206     6144831   83  Linux
/dev/sdb6            4207        4588     3068383+  83  Linux
/dev/sdb7            4589        4970     3068383+  83  Linux
/dev/sdb8            4971        5352     3068383+  83  Linux
/dev/sdb9            5353        5734     3068383+  83  Linux
/dev/sdb10           5735       60734   441787468+  83  Linux
3、创建设备分区。
执行命令:fdisk /dev/sda
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121534 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
  (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): m(查看帮助信息)
コマンドの動作
  a   ブート可能フラグをつける(带有可启动标记)
  b   bsd ディスクラベルを編集する(bsd磁盘等级编辑)
  c   dos 互換フラグをつける(带有dos交换标记)
  d   領域を削除する(删除分区)
  l   既知の領域タイプをリスト表示する(显示已知分区)
  m   このメニューを表示する(显示菜单)
  n   新たに領域を作成する(创建新的分区)
  o   新たに空の DOS 領域テーブルを作成する(创建新的dos分区)
  p   領域テーブルを表示する(显示分区表)
  q   変更を保存せずに終了する(不保存修改退出)
  s   空の Sun ディスクラベルを作成する(创建空的Sun磁盘分区)
  t   領域のシステム ID を変更する(修改分区的系统ID)
  u   表示/項目ユニットを変更する(修改显示/项目)
  v   領域テーブルを照合する(显示分区表)
  w   テーブルをディスクに書き込み、終了する(保存退出)
  x   特別な機能 (エキスパート専用)(特殊功能,执行功能)

コマンド (m でヘルプ): p(显示分区表信息)

Disk /dev/sda: 999.6 GB, 999653638144 bytes
255 heads, 63 sectors/track, 121534 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System

コマンド (m でヘルプ): n(创建新的分区)
コマンドアクション
  e   拡張(扩展分区)
  p   基本領域 (1-4)(系统分区)
p
領域番号 (1-4): 1(分区编号)
最初 シリンダ (1-121534, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121534, default 121534):
Using default value 121534

コマンド (m でヘルプ): p(显示分区信息)

Disk /dev/sda: 999.6 GB, 999653638144 bytes
255 heads, 63 sectors/track, 121534 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1               1      121534   976221823+  83  Linux
コマンド (m でヘルプ): w(保存退出)
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。(RAID1需要的磁盘同步操作)
4、格式化分区。(创建ext3分区)
执行格式化命令: mkfs -t ext3 -c /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122028032 inodes, 244055455 blocks
12202772 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
7448 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
       32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
       4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
       102400000, 214990848

Checking for bad blocks (read-only test): done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
5、挂载设备
执行命令:mount /dev/sda1 /ydms_gissys
6、查看挂载结果
执行命令:df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/sdb10            409G  1.9G  386G   1% /
/dev/sdb9             2.9G   69M  2.7G   3% /home
/dev/sdb8             2.9G  119M  2.6G   5% /tmp
/dev/sdb7             2.9G  1.8G  931M  67% /usr
/dev/sdb6             2.9G   74M  2.7G   3% /usr/local
/dev/sdb5             5.7G  184M  5.3G   4% /var
/dev/sdb2              15G  1.7G   12G  13% /opt
/dev/sdb1             2.9G   75M  2.7G   3% /boot
tmpfs                 4.0G     0  4.0G   0% /dev/shm
/dev/sda1             917G  200M  870G   1% /ydms_gissys
7、系统启动时,自动mount的设置。
编辑fstab文件:vi /etc/fstab。
输入:i。
参照已经有的信息,在最后位置添加如下信息:
/dev/sda1               /ydms_gissys            ext3    defaults        1 1
最后,保存退出。(1、ESC键;2、:wq回车。)
<think>好的,用户现在的问题是RAID 1替换硬盘后卡在Rebuilding状态,无法进入系统,询问是否可以移除新替换的硬盘。我需要根据之前提供的解决方案和用户现在提供的引用内容来回答。 首先,回顾用户之前的对话,我之前已经给出过RAID 1重建卡住的解决方案,包括兼容性问题、进程中断、元数据损坏和硬件控制器限制等原因。用户现在引用了新的内容,其中引用[3]提到使用mdadm命令将损坏的硬盘标记为faulty移除,这可能与当前情况相关。用户的问题集中在是否可以移除新替换的硬盘,可能是因为替换后重建卡住,导致系统无法启动。 用户现在的情况可能是在替换硬盘后,RAID卡在重建状态,无法进入系统。需要判断在这种情况下是否可以安全移除新硬盘,以及如何操作。 根据引用[3]的内容,管理员可以手动将硬盘标记为faulty移除,这可能适用于当前情况。但需要注意,如果新硬盘已经被添加到阵列中但重建失败,可能需要先将其标记为故障再移除,避免进一步损坏阵列。 另外,引用[1]提到RAID 10的结构,虽然用户现在处理的是RAID 1,但其中的镜像对概念可能有参考价值。引用[2]关于RAID 0和RAID 1的描述,RAID 1的容错能力,可能在移除硬盘时需要确保至少有一个有效镜像。 引用[4]提到SMART检测,可能建议用户检查新硬盘的SMART状态,确认是否硬件故障导致重建失败。 用户的需求是是否可以移除新替换的硬盘,解决方案需要分步骤说明,包括检查硬盘状态、安全移除方法、替换后的操作等。同时需要提醒用户备份数据,操作风险。 可能还需要考虑用户无法进入系统的情况,如何在救援模式下操作,比如使用Live CD/USB启动,然后进行mdadm命令操作。 需要确保回答结构清晰,步骤详细,引用相关的引用内容作为支持,例如引用[3]中的命令示例。</think>### RAID 1替换硬盘后卡在Rebuilding状态的安全移除指南 --- #### 一、能否移除新硬盘的关键判断 1. **当前RAID状态分析** - **若阵列仍处于降级状态(degraded)**(如引用[3]中`State: clean, degraded`所示)[^3],移除新硬盘不会导致数据丢失,因为原硬盘仍保留完整数据镜像 - **若阵列进入崩溃状态(failed/crashed)**,需通过救援模式访问数据 2. **硬盘状态验证命令** 通过Linux Live CD/USB启动后执行: ```bash # 查看阵列状态 mdadm --detail /dev/mdX # 检查新硬盘是否被标记为"spare"或"active" cat /proc/mdstat ``` --- #### 二、安全移除新硬盘的操作流程 1. **标记硬盘为故障(关键步骤)** ```bash # 强制标记新硬盘为故障(假设为/dev/sdb) mdadm --manage /dev/mdX --fail /dev/sdb # 验证标记结果(应显示"Faulty"状态,如引用[3]中的/dev/sdb状态)[^3] mdadm --detail /dev/mdX | grep sdb ``` 2. **物理移除操作规范** - **热插拔支持环境**: ```bash # 从阵列中移除硬盘 mdadm --manage /dev/mdX --remove /dev/sdb # 确认移除后状态(Raid Devices应减少) watch -n 1 'cat /proc/mdstat' ``` - **非热插拔环境**: 需**先关机**再物理移除,否则可能导致元数据冲突(引用[4]中SMART检测中断风险)[^4] --- #### 三、移除后的恢复策略 1. **数据完整性验证** ```bash # 检查剩余硬盘数据一致性(需1-4小时) mdadm --action=check /dev/mdX # 监控检查进度 echo check > /sys/block/mdX/md/sync_action watch -n 10 'cat /proc/mdstat' ``` 2. **重新尝试重建的优化方案** | 步骤 | 操作命令/方法 | 风险控制 | |------|---------------|----------| | 1. 检查新硬盘SMART状态 | `smartctl -a /dev/sdb`(引用[4]的SMART检测)[^4] | 排除物理故障 | | 2. 清除旧元数据 | `mdadm --zero-superblock /dev/sdb` | 避免配置冲突 | | 3. 限速重建 | `echo 20000 > /sys/block/mdX/md/sync_speed_max` | 降低系统负载 | | 4. 监控日志 | `dmesg -wH | grep md` | 实时捕获错误 | --- #### 四、无法进入系统的应急处理 1. **通过GRUB救援模式操作** - 启动时按`e`编辑内核参数,追加`init=/bin/bash` - 挂载根分区后执行阵列修复: ```bash mount -o remount,rw / mdadm --run /dev/mdX mdadm --fail /dev/mdX /dev/sdb ``` 2. **硬件RAID卡的特殊处理** - 进入RAID卡BIOS界面(如Ctrl+H/Del等) - 手动将新硬盘状态设为`Unconfigured Good`(引用[1]的状态转换逻辑)[^1] - 强制删除重建任务队列 --- #### 五、预防再次卡死的配置建议 1. **固件兼容性检查** ```bash # 比对旧硬盘信息(示例) hdparm -I /dev/sda | grep Firmware # 新硬盘应匹配主要版本号 hdparm -I /dev/sdb | grep Firmware ``` 2. **重建带宽动态调整** ```bash # 根据负载自动调节(单位KB/s) echo 'min_sync = 10000' >> /etc/mdadm.conf echo 'max_sync = 100000' >> /etc/mdadm.conf ``` --- ### 关键结论 **可以安全移除新替换的硬盘**,但必须按以下顺序操作: 1. 先通过软件标记为故障(`--fail`) 2. 再执行逻辑移除(`--remove`) 3. 最后物理拔出硬盘 此操作不会影响原有数据完整性(如引用[1]中RAID1镜像特性所述)[^1],但移除后阵列将保持降级状态,需尽快补充新硬盘完成重建。 --- ### 相关问题 1. RAID 1降级状态下如何保证数据安全性? 2. 不同品牌硬盘混用对RAID重建的影响? 3. 如何通过日志分析RAID重建失败的具体原因? 4. 服务器无法启动时如何导出RAID阵列中的数据? [^1]: RAID 1通过镜像机制保证单盘故障时的数据完整性 [^3]: 正确标记故障盘是维护阵列状态的关键步骤 [^4]: SMART检测可帮助预判硬盘物理故障
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值