磁盘和文件系统

fdisk -l [磁盘设备] //非交互式查看磁盘分区

fdisk [磁盘设备] //交互式查看和管理磁盘分区

非交互式查看磁盘分区

[root@localhost ~]# ll /dev/sd*
brw-rw—-. 1 root disk 8, 0 8月 1 08:49 /dev/sda
brw-rw—-. 1 root disk 8, 1 8月 1 08:49 /dev/sda1
brw-rw—-. 1 root disk 8, 2 8月 1 08:49 /dev/sda2
[root@localhost ~]# fdisk -l /dev/sda

磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009766d

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM

交互式查看和管理磁盘分区

常用指令

指令 作用 m 打印出菜单 p 打印出当前分区表 n 新建一个分区 d 删除一个分区 t 改变分区的属性,系统ID w 保存 q 不保存退出

示例

[root@localhost ~] # fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):m //m指令打印出菜单
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id

u change display/entry units

v verify the partition table

w write table to disk and exit

x extra functionality (experts only)

命令(输入 m 获取帮助):p //p指令打印出当前分区表

磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0009766d

设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 125829119 61864960 8e Linux LVM

blkid

可以查看块设备属性信息

示例

[root@localhost ~]# blkid
/dev/sda1: UUID=”1003453c-ed08-492a-bac5-76fd0e006c5d” TYPE=”xfs”
/dev/sda2: UUID=”4zS7ZS-vwuG-OXJz-rvsT-zmn9-pszq-u5Wqd7″ TYPE=”LVM2_member”
/dev/sr0: UUID=”2017-09-06-10-51-00-00″ LABEL=”CentOS 7 x86_64″ TYPE=”iso9660″ PTTYPE=”dos”
/dev/mapper/centos-root: UUID=”dbfa8769-3674-4dca-9ea2-ce4d5d08a176″ TYPE=”xfs”
/dev/mapper/centos-swap: UUID=”cc343a9d-2526-43ec-ae59-a927a4c8e9ec” TYPE=”swap”
/dev/mapper/centos-home: UUID=”fe129d06-2d94-456a-b126-728f0c61d9db” TYPE=”xfs”

mkfs

创建文件系统(格式化)常用选项

选项

  • -t {ext2|ext3|ext4|xfs} 指定文件系统类型
  • -b {1024|2048|4096} 指定块 block 大小
  • -L ‘LABEL’ 设置卷标
  • -j ext3,相当于 -t mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i
  • -i 为数据空间中每多少个字节创建一个 inode;不应该小于block大小
  • -N 指定分区中创建多少个inode
  • -I 一个inode记录占用的磁盘空间大小,128—4096
  • -m 默认5%,为管理人员预留空间占总空间的百分比
  • -O FEATURE[,…] 启用指定特性-O ^FEATURE 关闭指定

示例

[root@localhost ~]# ls /sbin/mkfs* //查看当前系统支持哪些文件系统类型
/sbin/mkfs /sbin/mkfs.ext2 /sbin/mkfs.fat /sbin/mkfs.vfat
/sbin/mkfs.btrfs /sbin/mkfs.ext3 /sbin/mkfs.minix /sbin/mkfs.xfs
/sbin/mkfs.cramfs /sbin/mkfs.ext4 /sbin/mkfs.msdos
[root@localhost ~]# mkfs.xfs /dev/sdb1 //将sdb1格式化为XFS文件系统
meta-data=/dev/sdb3 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

文件系统检测和修复

fsck.FS_TYPE
fsck -t FS_TYPE
-a 自动修复
-r 交互式修复错误

mkswap

swap

特殊的文件系统,缓解内存不足,为了个别应为程序加 内存有点浪费

添加交换分区的空间

  • mkswap + 分区
  • swapon +分区 开启 -a 全部
  • swapoff +分区 关闭 -a 全部

[root@localhost ~]# mkswap /dev/sdb6 //将sdb6格式化为swap文件系统
正在设置交换空间版本 1,大小 = 6289404 KiB
无标签,UUID=2b59e021-35a5-489a-9450-849917a9850a
[root@localhost ~]# swapon -s //显示所有启用的交换分区,目前只显示系统原有的交换分区
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1
[root@localhost ~]# swapon /dev/sdb6 //启用交换分区
[root@localhost ~]# swapon -s //此时查看,显示了刚刚启用的交换分区
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1
/dev/sdb6 partition 6289404 0 -2
[root@localhost ~]# swapoff /dev/sdb6 //不使用后可以停用交换分区
[root@localhost ~]# swapon -s //查看所有交换分区,/dev/sdb6已不显示
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1

lsblk

[root@localhost ~]# lsblk -d -o name,rota

查看当前硬盘是什么模式 固态 机械 1 机械 0 固态

NAME ROTA
sda 1
sr0 1

挂载与解挂载

mount

格式

mount [ -t 类型 ] 存储设备 挂载点目录 mount -o loop ISO镜像文件 挂载点目录

示例

[root@localhost data]# mount /dev/sdb1 /opt/aa //将sdb1挂载到aa目录下
[root@localhost ~]# df -h //查看磁盘情况,已成功挂载
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10G 4.9G 5.2G 49% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 183M 0 183M 0% /run/user/0
tmpfs 183M 40K 183M 1% /run/user/1005
/dev/sr0 4.3G 4.3G 0 100% /run/media/Amy/CentOS 7 x86_64
/dev/sdb1 10G 33M 10G 1% /opt/aa

挂载规则

  • 一个挂载点同一时间只能挂载一个设备
  • 一个挂载点同一时间挂载了多个设备,只能看到最后
  • 一个设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 通常挂载点一般是已存在空的目录

umount

格式

umount 存储设备位置
umount 挂载点目录

示例

[root@localhost opt]# umount /dev/sdb1 //将sdb1解除挂载
[root@localhostopt]# df -h //查看磁盘情况,已成功解挂载
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10G 4.9G 5.2G 49% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 183M 0 183M 0% /run/user/0
tmpfs 183M 40K 183M 1% /run/user/1005

永久挂载

需要将文件写入 /etc/fstab

UUID 可以确保唯一

示例

[root@localhost ~]# blkid //查看硬件设备的UUID /dev/sda1: UUID=”87263b93-1e10-49c6-a30c-2b80b6b17038″ TYPE=”xfs” /dev/sda2: UUID=”NOm6dB-M1Oe-2DBL-JyAF-p9by-VTLr-14MAfJ” TYPE=”LVM2_member” /dev/sdb1: UUID=”e0b714cd-c33e-42b2-a051-1e1f3333b4b7″ TYPE=”xfs” /dev/sdb5: UUID=”f9f897a8-ae5d-4ec3-a48f-33e2757213ae” TYPE=”xfs” /dev/sdb6: UUID=”2b59e021-35a5-489a-9450-849917a9850a” TYPE=”swap” /dev/sr0: UUID=”2017-09-06-10-51-00-00″ LABEL=”CentOS 7 x86_64″ TYPE=”iso9660″ PTTYPE=”dos” /dev/mapper/centos-root: UUID=”d0d8117f-e6af-46de-985e-910fafd9d4a2″ TYPE=”xfs” /dev/mapper/centos-swap: UUID=”8a01eff6-7570-42db-ba4d-a7ff11acbdb3″ TYPE=”swap”

[root@localhost ~]# vim /etc/fstab //修改配置文件 #将sdb1加入配置文件 UUID=e0b714cd-c33e-42b2-a051-1e1f3333b4b7 /data/aa xfs defaults 0 0

以 “/dev/mapper/centos-root / xfs defaults 0 0” 为例
– 字段1:设备名或设备卷标名、或设备的UUID(建议使用UUID,可使用lsbik命令查看)。

  • 字段2:文件系统的挂载点目录的位置。

  • 字段3:文件系统类型,如 XFS、swap 等。

  • 字段4:挂载参数,即 mount 命令”-o”选项后可使用的参数。例如,default、rw、ro、noexec 分别表示为默认参数、可读可写、只读、禁用执行程序。

  • 字段5:表示文件系统是否需要 dump 备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略。

  • 字段6:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查, 1表示优先检查,2表示其次检查。根分区可设为1,其他分区设置为2。一般不进行检查,会影响系统性能。

磁盘分区完整步骤

第一步:检测并确认新硬盘

新加硬盘后,需要刷新磁盘接口,让系统识别新硬盘。命令如下:

[root@localhost ~]# echo “- – -” > /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo “- – -” > /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo “- – -” > /sys/class/scsi_host/host2/scan
[root@localhost ~]# lsblk //查看块设备,已识别到新硬盘sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 14G 0 part
├─centos-root 253:0 0 10G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom

磁盘和文件系统

第二步:设置硬盘分区

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x8fd606b5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

磁盘和文件系统

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB

磁盘和文件系统

命令(输入 m 获取帮助):N
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20973568-125829119,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-125829119,默认为 125829119):+10G
分区 2 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):N
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (41945088-125829119,默认为 41945088):
将使用默认值 41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-125829119,默认为 125829119):+10G
分区 3 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):N
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e):
Using default response e
已选择分区 4
起始 扇区 (62916608-125829119,默认为 62916608):
将使用默认值 62916608
Last 扇区, +扇区 or +size{K,M,G} (62916608-125829119,默认为 125829119):+10G
分区 4 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):W
The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root
253:0 0 38.3G 0 lvm /
├─centos-swap
253:1 0 2G 0 lvm [SWAP]
└─centos-home
253:2 0 18.7G 0 lvm /home
sdb 8:16 0 60G 0 disk
├─sdb1 8:17 0 10G 0 part
├─sdb2 8:18 0 10G 0 part
├─sdb3 8:19 0 10G 0 part
└─sdb4 8:20 0 1K 0 part
sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64

第三步:为分区指定文件系统(格式化)

将/dev/sdb1 格式化为XFS文件系统——mkfs.xfs命令

[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=1

将/dev/sdb2 格式化为交换文件系统——mkswap命令

[root@localhost ~]# mkswap /dev/sdb2 //将sdb6格式化为swap文件系统
正在设置交换空间版本 1,大小 = 6289404 KiB
无标签,UUID=2b59e021-35a5-489a-9450-849917a9850a
[root@localhost ~]# swapon -s //显示所有启用的交换分区,目前只显示系统原有的交换分区
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1
[root@localhost ~]# swapon /dev/sdb2 //启用交换分区
[root@localhost ~]# swapon -s //此时查看,显示了刚刚启用的交换分区
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1
/dev/sdb2 partition 6289404 0 -2

[root@localhost ~]# swapoff /dev/sdb2 //不使用后可以停用交换分区
[root@localhost ~]# swapon -s //查看所有交换分区,/dev/sdb6已不显示
文件名 类型 大小 已用 权限
/dev/dm-1 partition 4194300 0 -1

第四步:挂载文件系统

新建/data目录,之后建子目录aa

方式一:使用mount命令一次性挂载

[root@localhost /]# mkdir /data //创建/data目录
[root@localhost /]# cd /data
[root@localhost data]# mkdir aa //在/data目录下创建子目录aa
[root@localhost data]# ls
aa
[root@localhost opt]# mount /dev/sdb1 /data/aa //将sdb1挂载到aa目录下
[root@localhost ~]# df -Th //查看磁盘情况并显示文件系统类型,可看到已成功挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 10G 4.9G 5.2G 49% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
tmpfs tmpfs 183M 40K 183M 1% /run/user/1005
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/Amy/CentOS 7 x86_64
/dev/sdb1 xfs 10G 33M 10G 1% /opt/aa

方式二:永久挂载

[root@localhost ~]# blkid //查看硬件设备的UUID /dev/sda1: UUID=”87263b93-1e10-49c6-a30c-2b80b6b17038″ TYPE=”xfs” /dev/sda2: UUID=”NOm6dB-M1Oe-2DBL-JyAF-p9by-VTLr-14MAfJ” TYPE=”LVM2_member” /dev/sdb1: UUID=”e0b714cd-c33e-42b2-a051-1e1f3333b4b7″ TYPE=”xfs” /dev/sr0: UUID=”2017-09-06-10-51-00-00″ LABEL=”CentOS 7 x86_64″ TYPE=”iso9660″ PTTYPE=”dos” /dev/mapper/centos-root: UUID=”d0d8117f-e6af-46de-985e-910fafd9d4a2″ TYPE=”xfs” /dev/mapper/centos-swap: UUID=”8a01eff6-7570-42db-ba4d-a7ff11acbdb3″ TYPE=”swap” ​ [root@localhost ~]# vim /etc/fstab //修改配置文件 #将sdb1和sdb2加入配置文件 UUID=e0b714cd-c33e-42b2-a051-1e1f3333b4b7 /data/aa xfs defaults 0 0

Original: https://www.cnblogs.com/fengxia6/p/16735627.html
Author: 风夏呀
Title: 磁盘和文件系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577766/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • cobbler

    cobbler cobbler cobbler简介 cobbler工作原理 cobbler的作用 cobbler服务端部署 cobbler简介 Cobbler是一个Linux服务器…

    Linux 2023年6月6日
    098
  • django 将原本数据库中的表导入models中

    django 将原本数据库中的表导入models中 python manage.py inspectdb > app名/models.py 在执行过程中,如果发现出现报安装m…

    Linux 2023年6月13日
    0107
  • IDEA出现Could not autowire. No beans of ‘xxx’ type found.解决

    Plan A File → Project Structure… Facets → Spring → 右键删除即可 Plan B File → Settings → E…

    Linux 2023年6月13日
    099
  • 我可以不在校园

    我在校园自动打卡,仅作学习使用。 我在校园自动打卡,仅作学习使用 直达电梯:我可以不在校园 posted @2021-11-19 17:38 DominicKK 阅读(258 ) …

    Linux 2023年6月8日
    0113
  • 【windows】在windows右键菜单加入在当前路径打开cmd功能?

    在Ubuntu中可以在一般目录下点击右键选中Open in Terminal即可打开一个命令终端,由于自己平常在windows上开发时也常常使用cmd命令行进行操作,但是每次都需要…

    Linux 2023年6月13日
    0106
  • Docker安装Portainer

    Docker安装Portainer Docker介绍 Docker是一个开源的容器引擎,完全使用沙箱机制,相互之间不会有任何接口,并且容器性能开销低,让开发者可以打包应用或者依赖包…

    Linux 2023年6月6日
    0124
  • Redis6 源码调式

    Redis6 源码调式 安装Cygwin 1、下载安装Cygwin 去Cygwin的官方网站http://www.cygwin.com/ window 64位请选择 setup-x…

    Linux 2023年5月28日
    0127
  • zabbix监控配置流程

    1.0 zabbix监控配置流程详细 管理角度: 开发 由开发人员提供监控指标来监控 运营 让其找开发要监控指标 运维 直接加 配置角度: 创建主机 创建主机组并加入主机 添加监控…

    Linux 2023年6月7日
    091
  • Linux vi/vim

    1.vi/vim快捷键位图 详细可以参考:https://www.runoob.com/w3cnote/all-vim-cheatsheat.html 2.vi/vim的三种模式 …

    Linux 2023年6月8日
    0100
  • Linux errno

    Linux errno,number of last error. Linux/include/uapi/asm-generic/errno-base.h ifndef _ASM_…

    Linux 2023年6月7日
    0111
  • MySQL PXC集群的实现

    MHA:一主多从,主节点挂了就提升一个从节点作为主节点。 缺点:提升从节点为主节点需要时间,且只有一个节点能进行写操作,所以写的性能不高。 双主架构:两个主节点,两个节点都能进行读…

    Linux 2023年6月7日
    082
  • 如你所见

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月6日
    081
  • VRRP配置即实验

    VRRP 概念: VRRP 全称是虚拟路由器冗余协议,它是一种容错协议。该协议通过把几台路由设备联合组成一台虚拟的路由设备,该虚拟路由器在本地局域网拥有唯一的一个虚拟ID和虚拟IP…

    Linux 2023年6月6日
    085
  • MacOS设置终端代理

    前言 国内的开发者或多或少都会因为网络而烦恼,因为一些特殊原因有时候网络不好的时候需要使用代理才能完成对应的操作。原来我一直都是使用斐讯路由器然后刷了梅林的固件,直接在路由器层面设…

    Linux 2023年6月14日
    096
  • 【Leetcode】53. 最大子数组和

    给你一个整数数组 nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输&am…

    Linux 2023年6月6日
    096
  • 幸运的袋子 附加动图演示!

    幸运的袋子_牛客题霸_牛客网 (nowcoder.com) 厄运的袋子 用到了深度遍历 递归回溯法 这里假设一个例子: 1 1 1 2 2 3 4 5 7 8 因为要确认是否辛运,…

    Linux 2023年6月13日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球