이 문서에서는 Linux에서 디스크 관리의 하드 디스크 마운트와 Linux 운영 체제에서 하드 디스크를 마운트하기 위해 알아야 할 몇 가지 지식을 제공합니다. 그것이 모두에게 도움이 되기를 바랍니다.
이 글은 지금까지 소개된 Linux 하드 디스크 마운팅에 대한 가장 실용적인 글일 수 있으며, 매우 상세합니다. 업무상의 이유로 평소에는 더 자주 사용하게 됩니다. 주요 목적은 Linux에서 디스크를 마운트하는 것이 그리 어렵지 않다는 것을 더 많은 사람들에게 알리는 것입니다.
몇 가지 일반적인 파일 시스템, 즉 기존 파일 시스템 ext 파일 시스템(ext2, ext3, ext4)이 있습니다.
Redhat7 시리즈에서는 성능 면에서 ext 파일 시스템을 능가하는 우수한 xfs 파일 시스템을 여전히 권장합니다. XFS 파일 시스템은 SGI(Silicon Graphic Inc)에서 IRIX(Unix 운영 체제)용으로 개발하고 나중에 Linux 운영 체제로 이식한 파일 시스템입니다. XFS는 확장성이 뛰어나고 견고하다는 장점이 있는 고급 저널링 파일 시스템입니다.
Redhat7 설치와 함께 제공되는 btrfs(보통 Buffer FS, Better FS, B-tree FS로 읽는 B-트리 파일 시스템) 파일 시스템도 있습니다.
btrfs에는 많은 기능이 있습니다. 예를 들어 스냅샷 쓰기, 스냅샷의 스냅샷, 내장 RAID(일반적으로 디스크 어레이라고 함), 하위 볼륨(하위 볼륨) 등의 핵심 개념은
내결함성, 복구 및 손쉬운 관리를 설계하는 것입니다. btrfs의 최대 용량 볼륨은 16EB이며, 최대 단일 파일은 16EB입니다.
참고: 이 기사에서는 설치 선택 언어의 중국어 간체 버전을 사용하므로 중국어 문자가 표시되어도 놀라지 마십시오.
사진으로 시작해서 글은 다 편집되어 있습니다. 그냥 농담이에요. 모두를 웃게 만들려고요. 아래 그림은 이 기사의 핵심 내용을 강조한 것입니다.
권장 사항: 테스트를 위해 Linux(Redhat 시리즈 또는 Ubuntu 빌드 환경)에서 가상 머신을 사용하여 테스트할 수 있습니다.
1. 시스템 파티션 상황을 확인하세요
fdisk 매개변수 설명
기존 하드 디스크 파티션을 삭제하면 어떤 일련 번호를 삭제해야 하는지 묻는 메시지가 표시됩니다.
파티션 삭제: d
파티션 추가: n
파티션 정보 보기: p
파티션 변경 정보 저장: w
저장하지 말고 종료: q
도움말 정보 얻기: m
1. 파티션 테이블 나열
아래 옵션에서 볼 수 있듯이 원래 디스크는 /dev/sda: 21.5GB입니다. 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 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 4507647 2048000 83 Linux /dev/sda3 4507648 8603647 2048000 82 Linux swap / Solaris /dev/sda4 8603648 41943039 16669696 5 Extended /dev/sda5 8605696 41943039 16668672 83 Linux 磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x95df3b22 设备 Boot Start End Blocks Id System /dev/sdb2 10485760 20971519 5242880 83 Linux
fdisk 명령을 직접 입력하면 중국어 버전에서는 도움말 정보와 사용 방법이 표시됩니다.
fdisk [选项] <磁盘> 更改分区表 #例如新增的磁盘sdb fdisk /dev/sdb fdisk [选项] -l <磁盘> 列出分区表 fdisk -s <分区> 给出分区大小(块数)
2. Linux 파일 시스템 생성
1. xfs 파일 시스템
아래와 같이, xfs 파일 시스템은 새로 추가된 디스크 파일 경로인 /dev/sdb를 가리킵니다. Redhat7 시리즈의 기본 권장 형식이기도 합니다.
mkfs.xfs /dev/sdb
간단한 설명: xfs 파일 시스템은 사용자가 사용할 수 있는 백업 파티션 도구 xfsdump를 제공합니다. 장점은 사용자가 타사 소프트웨어를 사용하지 않고도 xfs 파일 시스템의 데이터를 백업할 수 있다는 것입니다. 백업 과정은 다음과 같습니다.
xfsdump /backup/dump_sdc1 /sdc1
2.btrfs 파일 시스템
아래와 같이 새로 추가된 디스크 파일 경로인 /dev/sdb를 가리키는 새로운 btrfs 파일 시스템을 생성하겠습니다. 아래에 설명되어 있습니다. btrfs 파일 시스템의 구성이기도 합니다.
mkfs.btrfs /dev/sdb
3.ext 파일 시스템
Redhat6 이전 버전에서는 ext 파일 시스템이 계속 사용되었습니다. 나중에 7 시리즈에서는 xfs 파일 시스템을 사용하는 것이 권장되었습니다.
mkfs.ext4 /dev/sdb
3. 마운트할 경로를 생성합니다
1. 마운트된 파일 데이터를 생성합니다.
mkdir 명령을 사용하여 이후 새 디스크 마운트를 위한 데이터 디렉터리를 생성합니다.
mkdir /data
생성된 마운트 경로 데이터를 봅니다. 처음에는 비어 있습니다
ls /data
2. 디스크를 사용하여
데모로 간단한 쉘 스크립트를 작성합니다.
echo -e "echo "hello linux"\necho "create btrfs filesystem"" >> /data/data.sh
간단한 쉘 스크립트를 작성한 후 보기 및 테스트 이 스크립트를 실행하세요
#再次查看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 명령 지식을 알아야 합니다. 물론, 이 글을 읽어보시면 아직 기초적인 부분도 어느정도 남아있다는 것을 알 수 있습니다.
4. fdisk를 사용하여 /dev/sdb
파티션 명령 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: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分区号 (1,3,4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,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 #查看到新增分区的设备信息 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10485759 5241856 5 Extended /dev/sdb2 10485760 20971519 5242880 83 Linux 命令(输入 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 /data btrfs defaults 0 0 >> /etc/fstab echo /dev/sdb2 /data btrfs defaults 0 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: none uuid: 294c0c25-04be-4791-ab06-520c4283cb58 Total devices 1 FS bytes used 192.00KiB devid 1 size 5.00GiB used 536.00MiB path /dev/sdb2
七、永久写入配置文件
1、配置文件fstab展示
注意:解决重启掉盘的问题。强调一点,一旦写入配置文件的参数出现错误异常,大概率导致服务器无法启动,所以修改时需谨慎操作。最好先做备份,再进行操作。
如下我的/ect/fstab配置文件内容,可以看到/dev/sdb2是我测试新增的一块盘进行分区后的配置,使用文件系统格式为btrfs。
# /etc/fstab # Created by anaconda on Sun Jan 5 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 / xfs defaults 0 0 UUID=7d56f743-a42d-42e2-876e-d839cc583fa7 /boot xfs defaults 0 0 UUID=953b1070-a13a-4b67-ac63-cc376c1dee8d /home xfs defaults 0 0 UUID=b075b6d0-4d37-4f18-ae59-bf380862b440 swap swap defaults 0 0 /dev/sdb2 /data btrfs defaults 0 0
2、部分参数详解
写入卷标信息到/etc/fstab文件(Redhat7系列默认推荐格式为xfs,从我文中给出的展示就可看出)
第一项参数:/dev/sdb1(原始磁盘分区路径)
第二项参数:/data(新建的挂载磁盘文件路径,Linux核心是一个文件系统,所以说是文件路径)
第三项参数:btrfs(挂载磁盘文件系统格式)
第四项参数:defaults
第五项参数:0 0
#第一项参数/dev/sdb这里也可以写入UUID的信息
# 第一项参数 第二项参数 第三项参数 第四项参数 第五项参数
echo /dev/sdb1 /data btrfs defaults 0 0 >> /etc/fstab
3、修改配置文件
可以直接编辑文件新增磁盘挂载信息:vim /etc/fstab
写入到/etc/fstab配置文件,文件系统推荐xfs或者btrfs,具体视实际情况而定:
/dev/sdb2 /data ext4 defaults 0 0 /dev/sdb2 /data xfs defaults 0 0 /dev/sdb2 /data btrfs defaults 0 0
重启生效:reboot 或者 shutdown -r now
验证挂载是否成功,此时重启系统后可以看到我的新挂载的磁盘/dev/sdb2已经生效了并写入了fstab配置文件。
df -h [root@cnwangk /]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 907M 0 907M 0% /dev tmpfs 917M 0 917M 0% /dev/shm tmpfs 917M 9.3M 908M 2% /run tmpfs 917M 0 917M 0% /sys/fs/cgroup /dev/sda5 16G 7.1G 8.9G 45% / /dev/sdb2 5.0G 17M 4.5G 1% /data /dev/sda2 2.0G 34M 2.0G 2% /home /dev/sda1 197M 154M 43M 79% /boot tmpfs 184M 0 184M 0% /run/user/0
八、磁盘管理
其实,上面对硬盘进行分区已经使用到了磁盘管理命令格式化分区mkfs、分区fdisk,属于基本的磁盘管理。还有最常用的df,用来查看磁盘空间占用情况;mount与umount命令进行挂载与卸载磁盘。主要想引出的是如下的第三方ssm管理工具。
看到这个ssm不要与Javaweb中的框架组合ssm(Spring Springmvc Mybatis)混淆了。
1、ssm管理工具
ssm(System Storage Manager)管理逻辑卷。默认没有安装,需要手动安装,下载rpm包或者直接yum源在线安装都行:
#提供yum在线安装方式 yum -y install system-storage-manager.noarch
安装完后,如下使用ssm命令即可展示效果:
[root@cnwangk /]# ssm list ----------------------------------------------------------------- Device Free Used Total Pool Mount point ----------------------------------------------------------------- /dev/fd0 4.00 KB /dev/sda 20.00 GB /dev/sda1 200.00 MB /boot /dev/sda2 1.95 GB /home /dev/sda3 1.95 GB SWAP /dev/sda4 1.00 KB /dev/sda5 15.90 GB / /dev/sdb 10.00 GB /dev/sdb1 1.00 MB /dev/sdb2 4.48 GB 536.00 MB 5.00 GB btrfs_sdb2 ----------------------------------------------------------------- ----------------------------------------------------- Pool Type Devices Free Used Total ----------------------------------------------------- btrfs_sdb2 btrfs 1 5.00 GB 5.00 GB 5.00 GB ----------------------------------------------------- ----------------------------------------------------------------------------------- Volume Pool Volume size FS FS size Free Type Mount point ----------------------------------------------------------------------------------- btrfs_sdb2 btrfs_sdb2 5.00 GB btrfs 5.00 GB 5.00 GB btrfs /data /dev/sda1 200.00 MB xfs 196.66 MB 42.79 MB /boot /dev/sda2 1.95 GB xfs 1.94 GB 1.91 GB /home /dev/sda5 15.90 GB xfs 15.89 GB 8.87 GB / -----------------------------------------------------------------------------------
2、linux自带的磁盘命令
比如,查看磁盘空间状态,加上参数-h以(K、M、G)形式显示。虽然df可以以多种形式展示,但个人工作中最常用的,还是加上-h参数使用的最为频繁。下面以加上参数-h为例子进行展示:
df -h [root@cnwangk /]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 907M 0 907M 0% /dev tmpfs 917M 0 917M 0% /dev/shm tmpfs 917M 9.3M 908M 2% /run tmpfs 917M 0 917M 0% /sys/fs/cgroup /dev/sda5 16G 7.1G 8.9G 45% / /dev/sdb2 5.0G 17M 4.5G 1% /data /dev/sda2 2.0G 34M 2.0G 2% /home /dev/sda1 197M 154M 43M 79% /boot tmpfs 184M 0 184M 0% /run/user/0
在df命令后加上-a参数,显示所有文件系统磁盘使用情况,这里就不贴输出的内容了,显示内容太长了。
df -ah
위 내용은 이 글의 전부입니다. 업무에 도움이 되셨으면 좋겠습니다. 글쓰기가 좋다고 생각되면 원클릭 트리플 콤보를 꺼내보세요. 요약이 적절하지 않다고 생각되시면 귀중한 의견을 남겨주시면 기사에서 조정 및 최적화를 진행하겠습니다.
원작이 쉽지 않습니다. 전재시 출처를 밝혀주시고 독창성을 존중해주세요. 이 글은 수시로 gitee나 github, VX 공개 플랫폼에 업로드될 예정입니다.
마지막으로 마인드맵이 제공되는데, 한번 살펴보시면 느낌이 오실 겁니다!
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 Linux에서 디스크 관리 및 하드 드라이브 마운트 과정을 안내합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!