在运维工作中,我们经常会遇到生产环境服务器磁盘容量不够,我们自然会想到扩容,扩服务器,或其他的方式,但今天讨论的是在单台服务器实现热插拨磁盘,并且无需要重启服务器实现对新插入的磁盘进行格式化。
在接下来的描述中会从三维度考虑实现,一是直接对新插入磁盘作为独立硬盘独立分区使用、二是对新插入磁盘作为LVM扩展使用、三是对新插入磁盘加入现有的raid陈列中,并且扩展阵列组容量。
环境:
os:centos6.5 x86_64
磁盘要求:scsi 类型
编码要求:熟悉shell
一、直接对新插入磁盘作为独立硬盘独立分区使用
在描述方法之前,我想列出关于SCSI硬盘的一点小知识,SCSI最典型的特性就是支持热插拨,一般在总线上挂载8块或16块硬盘。
在操作系统中,与scsi 文件相关的目录和文件如下(注意:并非全部)
# /sys/block directory
# /sys/class/scsi_host/ direcotry
# /proc/scsi/scsi file
补充:如果想了解/sys目录 请查看《深入理解linux内核》第四版 sysfs 文件系统章节,也可以看 https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
在centos6 操作系统中,管理设备的udev进程,关于udev,我仅建议大家看看/etc/udev/目录组成,了解含义。
写了这么多,如何操作呢?流程如下:
1. 插入SCSI磁盘到服务器
2.执行更新scsi_host执行
echo "- - -" > /sys/class/scsi_host/host0/scan
如果有多个hostx ,可以使用for循环执行即可。
3.使用磁盘工具查看是否新磁盘已经检测到
1)如果硬盘小于2T ,可以使用fdisk
2)如果硬盘大于等于2T 建议直接使用parted
4. 分区格式化
5. 按需要扩展容量
1)使用LVM 扩展
2)加入现在有磁盘阵列
为了大家方便,我附上一个简单脚本,如果有不明白之处,咱们共同探讨,明日描述LVM扩展和加入磁盘阵列。
#!/bin/bash
# author: afa
# description: scan new physical disk and tell linux kernel to know it.
# date: 2016.12.23 12:00
#
#
# for scsi disk and network devices.
# related file
# /sys/block directory
# /sys/class/scsi_host/ direcotry
# /proc/scsi/scsi file
. /etc/profile
scan_file="scan"
host_scan_dir="/sys/class/scsi_host/"
function ScanNewPhysicalDisk()
hosts_devices=$(ls -l $host_scan_dir)
for host_device in $hosts_devices
do
echo "- - -" > $host_scan_dir/$host_device/$scan_file
done
echo "scan success."
echo "please use fdisk or parted which effect from you disk size, more 2T disk, I suggest you to use parted tool"
function ScanNetworkDevice()
start_udev
echo "find out and check it"
function AddSingleDevice()
local scsi_device_id=$1
local channel_id=$2
local id=$3
local lun=${a:-0}
echo "scsi add-single-device $scsi_device_id $channel_id $id $lun" > /proc/scsi/scsi
function RemoveSingleDevice()
local scsi_device_id=$1
local channel_id=$2
local id=$3
local lun=${a:-0}
echo "scsi remove-single-device $scsi_device_id $channel_id $id $lun" > /proc/scsi/scsi
function main()
if [[ "$1" == "scan" ]]:then
ScanNewPhysicalDisk
为了交流方便,附件上传,请大家交流使用,原创文章,转载请注明出处。