知识养成了思想,思想同时又在融化知识。这篇文章主要讲述Linux服务器磁盘管理(挂载硬盘详细教程)相关的知识,希望能为你提供帮助。
本文将带来linux下的磁盘管理中的硬盘挂载,Linux操作系统挂载硬盘需要了解的一些知识。这可能是迄今为止介绍的最最最实用的linux硬盘挂载的文章了,比较详细。由于工作原因,平时使用的比较多。主要目的,只是想让更多人的了解到linux下挂载磁盘也不是那么困难。
文章图片
Linux服务器磁盘管理之挂载硬盘有几种常见的文件系统,以前的老牌文件系统ext文件系统(ext2、ext3、ext4)。
在Redhat7系列还是推荐一款优秀的xfs文件系统,在性能上已经超越了ext文件系统。XFS文件系统是硅谷图形公司(Silicon Graphic Inc,简称SGI)开发的用于IRIX(一个Unix操作系统)的文件系统,后来将其移植到Linux操作系统上。XFS是一个高级日志文件系统,其优势是极具伸缩性,同样也极具健壮性。
还有一款btrfs(B-tree文件系统通常读作Buffer FS、Better FS、B-tree FS)文件系统同样很优秀,Redhat7安装就自带。
btrfs具有很多特性。例如:写快照、快照的快照、内建RAID(通常称为磁盘阵列)、子卷(subvolume),其最核心的理念是设计
容错、修复以及易于管理。btrfs最大容量卷为16EB,单个最大文件为16EB。
须知:本文全程使用的是安装选择语言是简体中文版的,所以看到的汉字显示,请不要惊讶。
@[toc]
正文开局一张图,文章全靠编。开个玩笑,纯属逗大家乐一乐。下面的图片,已经点明了本文的核心内容。
文章图片
建议:进行测试,可以使用虚拟机配合linux(Redhat系列或者Ubuntu搭建环境)测试。
一查看系统分区情况fdisk参数说明
删除存在的硬盘分区,此时会提示需要删除的序列号是哪一个。
- 删除分区:d
- 新增分区:n
- 查看分区信息:p
- 保存分区变更信息:w
- 不保存并退出:q
- 获取帮助信息:m
列出分区表,从下面的列出的选项可以看出,原始的磁盘磁盘 /dev/sda:21.5 GB是初始安装linux操作系统就分配的。另外一块磁盘,是我新增的磁盘sdb用于测试演示。
fidsk -l
[root@cnwangk /]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0001805e设备 BootStartEndBlocksIdSystem
/dev/sda1*204841164720480083Linux
/dev/sda24116484507647204800083Linux
/dev/sda345076488603647204800082Linux swap / Solaris
/dev/sda4860364841943039166696965Extended
/dev/sda58605696419430391666867283Linux磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95df3b22设备 BootStartEndBlocksIdSystem
/dev/sdb21048576020971519524288083Linux
直接输入fdisk命令,中文版会提示帮助信息以及使用方法
fdisk [选项] <
磁盘>
更改分区表
#例如新增的磁盘sdb
fdisk /dev/sdb
fdisk [选项] -l <
磁盘>
列出分区表
fdisk -s <
分区>
给出分区大小(块数)
二建立linux文件系统 1xfs文件系统
如下所示,我将新建xfs文件系统,指向的是新增的一块磁盘文件路径/dev/sdb。同样也是Redhat7系列默认推荐的使用格式。
mkfs.xfs/dev/sdb
做一个简单说明:xfs文件系统提供了备份分区工具xfsdump以供用户使用。优势在于用户不用借助第三方软件就可以实现对xfs文件系统上的数据实施备份。备份过程如下所示:
xfsdump /backup/dump_sdc1 /sdc1
2btrfs文件系统
如下所示,我将新建btrfs文件系统,指向的是新增的一块磁盘文件路径/dev/sdb,下面最终演示的也是btrfs文件系统的配置。
mkfs.btrfs /dev/sdb
3ext文件系统
在Redhat6以及之前,用的还是ext文件系统。后来到7系列推荐使用xfs文件系统。
mkfs.ext4 /dev/sdb
三创建要挂载的路径 1创建挂载的文件data
使用mkdir命令创建data目录,用于后续挂载新增的磁盘。
mkdir /data
查看创建好的挂载路径data,初始是空的
ls /data
2使用磁盘
写入一个简单
shell
的脚本作为演示echo -e "echo "hello linux"\\necho "create btrfs filesystem"" >
>
/data/data.sh
写入简单的shell脚本后,测试查看并执行这个脚本
#再次查看data盘下的文件
[root@cnwangk /]# ls /data/
data.sh
sh /data/data.sh
#运行脚本
[root@cnwangk /]# sh /data/data.sh
hello linux
create btrfs filesystem
从上面可以看出一个基本的磁盘的管理,会引出一些基本命令的使用,比如ls、mkdir、echo等等。本文的受众群体是需要掌握一些linux基本命令知识的。当然能看到本文的,也说明您还是有一些基础的。
四使用fdisk对/dev/sdb进行分区 1分区命令fdisk
使用fdisk对新增的磁盘/dev/sdb进行分区,之前演示我已经使用主分区2,现在演示是逻辑扩展分区,使用参数e。
- 新增分区:n
- 新增主分区:p
- 扩展分区:e
- 注意:你可以自定义大小,也可以回车就是使用默认大小和扇区。
fdisk /dev/sdb
[root@cnwangk /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):n #新增分区,p则为主分区,e则为扩展分区
Partition type:
pprimary (1 primary, 0 extended, 3 free)
eextended
Select (default p): e
分区号 (1,3,4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +sizeK,M,G (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Extended 类型,大小设为 5 GiB命令(输入 m 获取帮助):p #此时用参数p查看未保存的分区信息磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x95df3b22
#查看到新增分区的设备信息
设备 BootStartEndBlocksIdSystem
/dev/sdb120481048575952418565Extended
/dev/sdb21048576020971519524288083Linux命令(输入 m 获取帮助):w #输入w参数进行保存,输入q进行不保存退出。
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
五建立btrfs文件系统 1建立文件系统
新建btrfs文件系统,在确定进行分区之后执行此命令,最后进行挂载磁盘。
mkfs.btrfs /dev/sdb2
同样可以使用如下命令
mkfs -t btrfs /dev/sdb2
六挂载文件系统 1挂载命令mount
接着上面建立好
btrfs
文件系统,此时再挂载到新建的data目录下。虽然是挂载成功了,但只是临时生效,重启会掉盘挂载后硬盘。而且卷标还会显示成字母加数字的一串长字符串,类似这种s1k544y55fsa445dda44sd4545eff4字符串。究其原因,Linux还是以文件系统为核心的。没有目录这个概念,只是方便大家理解,都习惯这样称呼。1.1 使用
mount
挂载,看到的是sdb2,是因为之前已经创建了一个分区sdb1。mount /dev/sdb2 /data
1.2 使用umount卸载
umount /dev/sdb2 /data
2写入fstab文件
2.1 永久生效需要写入/etc/fstab文件中,使用
echo
命令追加数据到fstab文件中。#第一项参数/dev/sdb这里也可以写入UUID的信息
#第一项参数第二项参数第三项参数第四项参数第五项参数
echo /dev/sdb1/databtrfsdefaults0 0>
>
/etc/fstab
echo /dev/sdb2/databtrfsdefaults0 0>
>
/etc/fstab
2.2 输入
blkid
命令查看卷标或者UUID# blkid命令
[root@cnwangk /]# blkid
/dev/sda5: UUID="d4708f44-beed-4a9b-bb11-94706e6c0cf5" TYPE="xfs"
/dev/sda1: UUID="7d56f743-a42d-42e2-876e-d839cc583fa7" TYPE="xfs"
/dev/sda2: UUID="953b1070-a13a-4b67-ac63-cc376c1dee8d" TYPE="xfs"
/dev/sda3: UUID="b075b6d0-4d37-4f18-ae59-bf380862b440" TYPE="swap"
/dev/sdb2: UUID="294c0c25-04be-4791-ab06-520c4283cb58" UUID_SUB="a8b7194a-a694-4a8a-bee1-0ab49821e6bb" TYPE="btrfs"
2.3、当然,你可以使用btrfs自带的命令查看磁盘文件的uuid
[root@cnwangk /]# btrfs filesystem show
Label: noneuuid: 294c0c25-04be-4791-ab06-520c4283cb58
Total devices 1 FS bytes used 192.00KiB
devid1 size 5.00GiB used 536.00MiB path /dev/sdb2
七永久写入配置文件 1配置文件fstab展示
注意:解决重启掉盘的问题。强调一点,一旦写入配置文件的参数出现错误异常,大概率导致服务器无法启动,所以修改时需谨慎操作。最好先做备份,再进行操作。
如下我的
/ect/fstab
配置文件内容,可以看到/dev/sdb2
是我测试新增的一块盘进行分区后的配置,使用文件系统格式为btrfs
。# /etc/fstab
# Created by anaconda on Sun Jan5 21:10:23 2020
#
# Accessible filesystems, by reference, are maintained under /dev/disk
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d4708f44-beed-4a9b-bb11-94706e6c0cf5 /xfsdefaults0 0
UUID=7d56f743-a42d-42e2-876e-d839cc583fa7 /bootxfsdefaults0 0
UUID=953b1070-a13a-4b67-ac63-cc376c1dee8d /homexfsdefaults0 0
UUID=b075b6d0-4d37-4f18-ae59-bf380862b440 swapswapdefaults0 0
/dev/sdb2/databtrfsdefaults0 0
2部分参数详解
写入卷标信息到
/etc/fstab
文件(Redhat7系列默认推荐格式为xfs,从我文中给出的展示就可看出)- 第一项参数:/dev/sdb1(原始磁盘分区路径)
- 第二项参数:/data(新建的挂载磁盘文件路径,Linux核心是一个文件系统,所以说是文件路径)
- 第三项参数:btrfs(挂载磁盘文件系统格式)
- 第四项参数:defaults
- 第五项参数:0 0
#第一项参数/dev/sdb这里也可以写入UUID的信息
#第一项参数第二项参数第三项参数第四项参数第五项参数
echo /dev/sdb1/databtrfsdefaults0 0>
>
/etc/fstab
3修改配置文件
可以直接编辑文件新增磁盘挂载信息:
vim /etc/fstab
写入到
/etc/fstab
配置文件,文件系统推荐xfs或者btrfs,具体视实际情况而定:/dev/sdb2/dataext4defaults0 0
/dev/sdb2/dataxfsdefaults0 0
/dev/sdb2/databtrfsdefaults0 0
重启生效:
reboot
或者 shutdown -r now
验证挂载是否成功,此时重启系统后可以看到我的新挂载的磁盘/dev/sdb2已经生效了并写入了fstab配置文件。
df -h
[root@cnwangk /]# df -h
文件系统容量已用可用 已用% 挂载点
devtmpfs907M0907M0% /dev
tmpfs917M0917M0% /dev/shm
tmpfs917M9.3M908M2% /run
tmpfs917M0917M0% /sys/fs/cgroup
/dev/sda516G7.1G8.9G45% /
/dev/sdb25.0G17M4.5G1% /data
/dev/sda22.0G34M2.0G2% /home
/dev/sda1197M154M43M79% /boot
tmpfs184M0184M0% /run/user/0
八磁盘管理其实,上面对硬盘进行分区已经使用到了磁盘管理命令格式化分区
mkfs
、分区fdisk
,属于基本的磁盘管理。还有最常用的df
,用来查看磁盘空间占用情况;mount
与umount
命令进行挂载与卸载磁盘。主要想引出的是如下的第三方ssm管理工具。看到这个ssm不要与javaweb中的框架组合ssm(Spring Springmvc Mybatis)混淆了。
1ssm管理工具
ssm(System Storage Manager)管理逻辑卷。默认没有安装,需要手动安装,下载rpm包或者直接yum源在线安装都行:
#提供yum在线安装方式
yum -y install system-storage-manager.noarch
安装完后,如下使用ssm命令即可展示效果:
[root@cnwangk /]# ssm list
-----------------------------------------------------------------
DeviceFreeUsedTotalPoolMount point
-----------------------------------------------------------------
/dev/fd04.00 KB
/dev/sda20.00 GB
/dev/sda1200.00 MB/boot
/dev/sda21.95 GB/home
/dev/sda31.95 GBSWAP
/dev/sda41.00 KB
/dev/sda515.90 GB/
/dev/sdb10.00 GB
/dev/sdb11.00 MB
/dev/sdb24.48 GB536.00 MB5.00 GBbtrfs_sdb2
-----------------------------------------------------------------
-----------------------------------------------------
PoolTypeDevicesFreeUsedTotal
-----------------------------------------------------
btrfs_sdb2btrfs15.00 GB5.00 GB5.00 GB
-----------------------------------------------------
-----------------------------------------------------------------------------------
VolumePoolVolume sizeFSFS sizeFreeTypeMount point
-----------------------------------------------------------------------------------
btrfs_sdb2btrfs_sdb25.00 GBbtrfs5.00 GB5.00 GBbtrfs/data
/dev/sda1200.00 MBxfs196.66 MB42.79 MB/boot
/dev/sda21.95 GBxfs1.94 GB1.91 GB/home
/dev/sda515.90 GBxfs15.89 GB8.87 GB/
-----------------------------------------------------------------------------------
2linux自带的磁盘命令
比如,查看磁盘空间状态,加上参数-h以(K、M、G)形式显示。虽然df可以以多种形式展示,但个人工作中最常用的,还是加上-h参数使用的最为频繁。下面以加上参数-h为例子进行展示:
df -h
[root@cnwangk /]# df -h
文件系统容量已用可用 已用% 挂载点
devtmpfs907M0907M0% /dev
tmpfs917M0917M0% /dev/shm
tmpfs917M9.3M908M2% /run
tmpfs917M0917M0% /sys/fs/cgroup
/dev/sda516G7.1G8.9G45% /
/dev/sdb25.0G17M4.5G1% /data
/dev/sda22.0G34M2.0G2% /home
/dev/sda1197M154M43M79% /boot
tmpfs184M0184M0% /run/user/0
在df命令后加上-a参数,显示所有文件系统磁盘使用情况,这里就不贴输出的内容了,显示内容太长了。
$ df -ah
查看磁盘文件大小:以MB为单位显示
$ du -sk -m
以上就是此次文章的所有内容的,希望能对你的工作有所帮助。感觉写的好,就拿出你的一键三连。如果感觉总结的不到位,也希望能留下您宝贵的意见,我会在文章中进行调整优化。**
原创不易,转载也请标明出处。不要改头换面,请尊重原创。本文会不定期上传到gitee或者github以及发布到微信公众平台。我的微信公众号与其他平台昵称同样是龙腾万里sky。认准龙腾万里sky,如果看见其它平台不是这个ID发出我的文章,就是转载的。
最后给出思维导图,凑合着看看吧,权当有个印象!
文章图片
莫问收获,但问耕耘以上是本文全部内容,能看到这里的都是帅哥靓妹。希望能对你的工作与学习有所帮助。
文章图片
原创不易,转载也请标明出处和作者,尊重原创。
不定期上传到github。MySQL系列文章:《MySQL开发篇,存储引擎的选择真的很重要吗?》已经上传至github仓库SQL-study。
【Linux服务器磁盘管理(挂载硬盘详细教程)】养得胸中一种恬静,方得始终。
推荐阅读
- 图解|从根儿上理解MySQL的索引
- WhatsApp云控,360°可用
- #yyds干货盘点#SpringBoot2 + Redis + MySQL实现一个抢红包系统
- pfSense plus 22.01 Suricata汉化包
- k8s集群StatefulSets的Pod优雅调度问题思考
- KMS服务器地址
- 数据仓库的数据模型(拉链表-能追踪历史信息的实现方案)实践杂谈
- Centos7环境ELK搭建
- 北亚数据恢复IBM DS系列存储服务器硬盘故障导致映射出错,业务下线的数据恢复案例