CentOS系统磁盘,文件系统问题

主机硬盘规格:12*4T SATA, 2*300G SAS

业务部署前先进行主机初始化,执行初始化脚本,其中包括配置软件raid,使用12块SATA盘做raid10,初始化完成之后登陆检查,发现本该22T的raid10分区,只有1.8T,使用lsblk查看,发现其中一块/dev/sdc只有300G,又温故了一下raid10的逻辑,根据木桶短板原理,即所有12块磁盘都最多使用300G,这样12*300/2=1800G,刚好吻合;CentOS系统磁盘,文件系统问题_第1张图片

分析原因:由于创建软件raid的脚本默认使用/dev/sdb-/dev/sdm的12块磁盘,而这台主机的4T盘其实是/dev/sdb、/dev/sdd到/dev/sdn,所以可以看到截图最后sdn是空闲的,那么是什么原因导致磁盘如此混乱呢?

申请一批新机器之后一般需要进行系统重装,有专门工具支持,无需人工干预,但是最近换了一批机型,之前通用的硬盘配置是12*2T SATA, 1*300G SAS,这次换成了12*4T SATA, 2*300G SAS,多了一块300G的SAS盘,而之前沿用的系统重装是默认不做raid的,这就导致新主机重装后多了块300G的/dev/sdc,弄清楚原因之后,修改了系统重装脚本,支持2块300G磁盘做硬件raid10做为系统盘。

 

 

另外了解到,硬件raid后,通过fdisk查看是只有一块盘的,而软件raid,是可以原磁盘和raid磁盘一起被fdisk展示出来的,如下图,可以看到已经只有一块300G的盘了:

CentOS系统磁盘,文件系统问题_第2张图片

有时想知道服务器上有几块磁盘,如果没有做raid,则可以简单使用fdisk -l  就可以看到。
但是做了raid呢,这样就看不出来了。那么如何查看服务器上做了raid?

  软件raid:只能通过Linux系统本身来查看
 
  cat /proc/mdstat
 
  可以看到raid级别,状态等信息。
 
  硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。如Adaptec公司的硬件卡就可以通过下面的命令进行查看:
 
  # /usr/dpt/raidutil -L all
 
  可以看到非常详细的信息。
 
  当然更多情况是没有安装相应的管理工具,只能依靠Linux本身的话一般我知道的是两种方式:
 
  # dmesg |grep -i raid
 
  # cat /proc/scsi/scsi
 
  显示的信息差不多,raid的厂商,型号,级别,但无法查看各块硬盘的信息。

如下信息作为案例, 命令为  
# fdisk -l 
Disk /dev/sda: 145.9 GB, 145999527936 bytes
255 heads, 63 sectors/track, 17750 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       17750   142472452+  8e  Linux LVM


# cat /proc/scsi/scsi

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SEAGATE  Model:  ST3146356SS      Rev: HS09
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: SEAGATE  Model: ST3146356SS      Rev: HS09
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi0 Channel: 01 Id: 00 Lun: 00
  Vendor: Dell     Model: VIRTUAL DISK     Rev: 1028
  Type:   Direct-Access                    ANSI SCSI revision: 05

通过以上信息可以看出,该服务器有两块磁盘。品牌是希捷的,磁盘代号为 ST3146356SS,如果你熟悉细节磁盘的代号命名规则,你会轻易判定该磁盘大小为146G 。再根据fdisk 得出的结果可以判定,该服务器是拿两块146G的硬盘做的raid1.

 

主机重装之后还有一个小问题,检查/dev/md0有22T空间,但是挂载给/data之后显示只有1.7T,是之前的磁盘大小,怀疑是文件系统没随磁盘扩,xfs_info /dev/md0检查,发现/data挂载点的blocks只有一小部分,使用xfs_growfs命令给文件系统进行扩容,空间变为22T,恢复正常。

CentOS系统磁盘,文件系统问题_第3张图片

 

在线扩容文件系统工具说明:

resize2fs 针对文件系统ext2 ext3 ext4

xfs_growfs 针对文件系统xfs

 

相关命令:

mdadm -D /dev/md0

xfs_info /dev/md0

xfs_growfs /data -D 5860329600(block size)

lsblk

fdisk -l

blockdev --getsize64 /dev/md0

你可能感兴趣的:(CentOS系统磁盘,文件系统问题)