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为格式,可以不要,系统自动识别

注意:挂载点不能是系统的关键目录

 

posted @ 2020-11-10 14:38  CharyGao  阅读(14)  评论(0编辑  收藏  举报