提示
本文中的命令仅针对11.9(4)B11之后版本(官方称为“封SHELL”版本)。
在特权模式下(#),输入debug su命令,可以进入支持模式(support)。
硬盘是否支持热插拔,需依具体设备型号确定。不支持热插拔的机型,需要重新启动后才能识别安装的新硬盘。
基本操作
一台锐捷EG3000CE出现硬盘故障,具体表现为无法查看历史的流控和审计记录,以及有时WEB界面中显示两个插槽里都没有硬盘。该机型内置1TB桌面级硬盘(WD蓝盘2.5寸),笔者使用一块相同容量的监控级硬盘(WD10JUCT)将其替换,以确保设备将来的稳定性。
1. 从EG设备上拆下旧硬盘,并将旧硬盘的电路板保护膜和支撑泡沫原位移植到新硬盘上(该机型硬盘插槽没有托架,电路板需要保护膜提供绝缘保护);
2. 使用DiskGenius等工具,对新硬盘进行分区,具体要求如下:
·使用MBR分区表
·新建一个主分区(编号1),使用EXT3格式(83),4K对齐
·分区不允许为激活/活动状态,即不允许设置引导标记
3. 装入新硬盘后,重新启动EG(该型号不支持热插拔,需重启才能识别新硬盘);
4. 检查硬盘挂载(mount)。命令:show mount(特权模式)或execute diagnose-cmd mount(支持模式)。如果存在类似下列的输出,则说明已经挂载。
/dev/sda1 on /mnt/sata0 type ext3 (rw,relatime,errors=continue,user_xattr,barrier=1,data=writeback)
5. 再次检查硬盘挂载(sata) 。命令:show sata(特权模式)。如果存在类似下列的输出,则说明已经挂载。
Manufacturer: WDC WD10JUCT-63CYNY0
Disk Partitions:
/dev/sda1 ---> /mnt/sata0
Disk /dev/sda1: 1000.2 GB(1000200994816 bytes), Available size: 983.7 GB(983720869888 bytes)
255 heads, 63 sectors/track, 121600 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
如确认硬盘已经正确挂载,通常不需要执行其他操作,可直接在EG的WEB页面上检查硬盘是否正常。(首页右上角的“硬盘”;以及“运维”——“系统设置”——“磁盘管理”,但部分设备没有这个界面。)
异常处理
如果mount和sata任意一项显示异常,则表示硬盘没有正常挂载,需要进行检查和修复。
1. 卸载或挂载硬盘(可选)
卸载,命令:execute diagnose-cmd sh automount --off(支持模式)。无输出表示执行成功。需要重新启动后才能生效。
挂载,命令:execute diagnose-cmd sh automount --on(支持模式)。无输出表示执行成功。需要重新启动后才能生效。
2. 检查硬盘分区。命令:execute diagnose-cmd fdisk(支持模式)。应当有类似下列的输出:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
如输出中没有“Disk /dev/sda”这样的信息,则应检查硬盘的物理安装。
如硬盘分区正确,应当有类似下列的输出:
Device Boot Start End Blocks Id System
/dev/sda1 1 121602 976758784 83 Linux
Boot项目下带有型号(*),表示该分区为激活/活动状态(有引导标记),应当予以取消。
Id/System项目应分别为83和Linux,显示其他内容则表示分区格式不正确。
如有“Disk /dev/sda doesn't contain a valid partition table”提示,则表示分区表无效,需重新分区。
3. 重新分区/调整分区设置。
使用SecureCRT软件,找到Options——Global Options,找到General——Default Session——Edit Defuallt Settings,找到Terminal——Emulation——Modes,勾选New Line Mode,保存设置并重新打卡已经建立的会话。不使用New Line Mode会导致fdisk的交互界面功能异常。(使用完毕后,可以将New Line Mode取消,否则登录Cisco设备输入密码时可能出错。)
进入fdisk交互界面,命令:execute diagnose-cmd sh fdisk /dev/sda(支持模式),显示如下信息:
The number of cylinders for this disk is set to 121601.
…
Command (m for help):
输入m回车,显示帮助信息。
输入p回车,显示分区信息。
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 121602 976758784 83 Linux
以上信息的下半部分内容,除了Start、End和Blocks三项外,其余项目的值必须与以上信息完全一致。
输入c回车,可以调整分区激活/活动状态(对应Boot标记)。
输入w回车,保存修改过的分区表。正常提示“The partition table has been altered!”
输入q回车,退出fdisk交互模式。
4. 格式化分区
注意:格式化前,必须确保硬盘没有挂载(show mount / show sata命令看不到硬盘分区),如果已经挂载则执行卸载命令并重启。确保fdisk中可以识别到正确的分区信息。/dev/sda表示整个硬盘,/dev/sda1表示硬盘的分区,注意它们的差别。
格式化命令:execute diagnose-cmd sh mkfs.ext3 /dev/sda1(支持模式),提示“proceed anyway”时选y。格式化进度较慢,成功完成后显示如下信息:
Creating filesystem with 244189696 4k blocks and 61054976 inodes
Filesystem UUID: 52aa1efc-4257-4ff6-9491-35a3fe0a95e1
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
如果提示“Could not determine filesystem size”,需要重新分区后再进行格式化。
格式化完成后,需要重新挂载硬盘,然后重启。