Linux(Ubuntu)如何处理新添加的硬盘
前言
一般来说,当我们在服务上插入新的磁盘时,服务器是会对磁盘进行识别的。但是,有的时候服务器并没有对这些新插入的磁盘进行识别。这时,我们可以通过重启服务器,来使服务器重新加载硬盘。
在生产环境中我们的服务器上都存在着重要的服务,并不可以对服务器进行重启。下面介绍的就是无需重启服务器,使其识别新磁盘的方法。
解决方法
【1】查看磁盘
fdisk -l
lsblk
【2】查看主机总线号
ls /sys/class/scsi_host/
【3】重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
....
echo "- - -" > /sys/class/scsi_host/host9/scan
注意
有几个总线,就扫描几个
4】再次查看磁盘
发现新添加的磁盘出现,即为成功
脚本分享
cat scsisum.sh
#!/usr/bin/bash
scsisum=`ll /sys/class/scsi_host/host*|wc -l`
for ((i=0;i<${scsisum};i++))
do
echo "- - -" > /sys/class/scsi_host/host${i}/scan
done
扩展 :
1. 查看硬盘分区
fdisk /dev/sda1
注:m或help显示菜单 p显示分区情况 n创建新分区 t修改分区类型
2. 格式化分区
mkfs /dev/sda2
3 .修复分区
fsck /dev/sda3
把它挂载到/home目录 从而扩大home空间
1、分区格式化
#mkfs -t ext4 /dev/vdb1 格式化为ext4格式
3、将新硬盘临时挂载在一个目录下
#cd /mnt/
#mkdir home
#mount /dev/vdb1 /mnt/home 挂载到/mnt/home
#df -h 查看
#cp -a /home/* /mnt/home/ 把home下的东西拷到挂载的目录下,备份
#rm -rf /home/* 把home下的东西删干净
#umount /dev/vdb1 卸载硬盘
#df -h 查看
2、设置开机挂载
#vi /etc/fstab
末尾增加一行
/dev/vdb1 /home ext4 defaults 1 2
保存退出
#df -h 查看 /home是否被挂载
#mount -a 挂载/etc/fstab 中未挂载的分区
#df -h 查看
Filesystem Size Used Avail Use% Mounted on
LABEL=cec-rootfs 16G 1.9G 13G 13% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/vda1 194M 28M 157M 15% /boot
/dev/vdb1 40G 176M 38G 1% /home
发现成功挂载
关于根目录(/)下空间不足的解决方案
首先使用df -h 指令查看硬盘使用情况,发现/目录下的14G大小的容量已全部用完
于是乎参考文章,使用一个叫gparted的软件,如果没有,可以使用指令sudo apt-get install gparted来安装
但是我的空间满了,连gparted都装不下,于是使用u盘启动盘,然后在一开始引导安装Ubuntu时选择试用Ubuntu来进入Ubuntu
来到使用版后,使用两条指令打开gparted,sudo apt-get install gparted和sudo gparted
打开后将/home下的空间分15G给/,具体做法参考上述两篇文章
常见问题:
1、linux新增磁盘后找不到解决方法
存储正常分配到主机后做以下操作:
# ls /sys/class/fc_host 或者#ls /sys/class/scsi_host/ (会看到host1,host2...hostN,对每个host进行如下操作)
# echo "- - -" > /sys/class/scsi_host/host1/scan (中间是有空格的)!!
# echo "- - -" > /sys/class/scsi_host/host2/scan
...
# echo "- - -" > /sys/class/scsi_host/hostN/scan
操作后用fdisk -l或lvmdiskscan来查看新硬盘
参考链接 :
给Linux服务器添加新硬盘及分区扩容 :https://blog.csdn.net/qq_40265468/article/details/95958209
linux磁盘空间不足,添加磁盘并动态扩容 :https://blog.csdn.net/qq_37017817/article/details/82220061
ubuntu16.04根目录磁盘空间扩容及可能遇到的问题(亲测有效) :https://blog.csdn.net/zbr794866300/article/details/97623273
ubuntu系统根目录空间不足 – 扩展根目录磁盘空间 :https://blog.csdn.net/water_93/article/details/84062512
Linux服务器添加新硬盘无法识别解决方法(无需重启) : https://blog.csdn.net/GX_1_11_real/article/details/82024550
https://blog.csdn.net/wangqingxiang0909/article/details/8109325
Ubuntu中shell命令-(7)-mount挂载/Linux分区
注意:卸载和挂载都要使用管理员权限 sudo
有时候Ubuntu会自动挂载分区,这时候位置不合适我们要卸载
有时候Ubuntu不会帮我们自己挂载,我们要自己去挂载,这时候就需要通过 fdisk 去查看U盘对应的设备号
第一,fdisk(分区工具)
作用:对硬盘进行分区
用法:sudo fdisk -l (列出外围设备的分区状况)
分区精讲!!!
分区:主分区(引导代码,内核,系统)
逻辑分区
一块硬盘最多可分为4个主分区,理论上一块硬盘可以装4个操作系统,逻辑分区编号从5开始,Linux中5分区一般为swap分区(虚拟内存)
第二,umount(卸载)
作用:卸载已挂载分区
用法:sudo umount dev/sdb1
sudo umount media/disk
第三,mount(挂载)
作用:挂载分区(U盘,网络分区等)
用法:sudo mount /dev/sdb1(U盘等) /home/xxx(挂载点)
sudo mount 192.168.1.100:/opt(网络分区) /mnt(本机挂载点) -o nolock -t nfs
注:nfs为格式,可以不要,系统自动识别
注意:挂载点不能是系统的关键目录