Linux文件系统
目录
1、常见的linux文件系统
2、文件系统的组成
inode的内容:
可以用stat命令,查看某个文件的inode信息
inode的大小
inode号码
使用 ls -i来查看文件的inode号码
使用 df -i命令,查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。
系统打开一个文件的整个过程
目录文件
block块
block调大
显示磁盘状态信息:CentOS6用: dumpe2fs 分区名 ,CentOS7用xfs_info 分区名
磁盘分区工具与挂载
1、磁盘常识
2、磁盘两种分区表:MBR和GPT
3、使用fdisk管理分区(MBR分区表)
1、fdisk -l 查看系统所有硬盘及分区
2、进入fdisk工具进行分区操作
4、使用gdisk管理分区(gpt分区表)
5、swap交换分区
5、将一个已经生效的分区改成swap分区
/etc/fstab 文件修复:
1、常见的linux文件系统
ext:linux中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用
ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统,于1993年发布,支持最大16TB
的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)
ext3:是ext2文件系统的升级版本,最大的区别就是带日志功能,以便系统突然停止时(比如断电)提高文件系统的可靠性,
支持最大16TB的分区和最大2TB的文件。
ext4 :是 ext3 文件系统的升级版。 ext4 在性能、 伸缩性和可靠性方面进行了大量改进。 ext4的变化可以说是翻天覆地的, 比如向下兼容 ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、 Extents 连续数据块概念、 多块分配、 延 迟分配、 持久预分配、 快速 FSCK、日志校验、 无日志模式、 在线碎片整理、 inode 增强、 默认启用 barrier 等。 它是 CentOS 6.x 的默认文件系统
xfs :XFS 最早针对 IRIX 操作系统开发, 是一个高性能的日志型文件系统, 能够在断电以及操作系统崩溃的情况下保证文件系统数据的一致性。它是一个 64 位的文件系统,后来进行开源并且移植到了 Linux 操作系统中,目前 CentOS 7.x 将 XFS+LVM(逻辑卷管理)作为默认的文件系统。据官方所称,XFS 对于大文件的读写性能较好。单个文件系统最大可以支持8EB,单个文件可以支持16TB
swap :swap 是 Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB。它是 Linux 的必需分区
NFS :NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源
iso9660 :光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统
fat :就是 Windows 下的 fat16 文件系统,在 Linux 中识别为 fat
vfat :就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件
NTFS :就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别, 则需要重新编译内核才能支持。 它比 fat32 文件系统更加安全, 速度更快,支持最大 2TB 的分区和最大 64GB 的文件
ufs :Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统
proc :Linux 中基于内存的虚拟文件系统,用来管理内存存储目录/proc其实是linux内核对外提供的一个接口,
sysfs 和 proc 一样,也是基于内存的虚拟文件系统,用来管理内存存储目录/sys
tmpfs: 也是一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区
######################################################################
2、文件系统的组成
Linux文件系统具体由三部分组成:文件名,inode,block
inode的内容:
inode包含文件的元信息,相当于windows的文件的属性:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:
ctime指inode上一次变动的时间
mtime指文件内容上一次变动的时间
atime指文件上一次打开的时间
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
可以用stat命令,查看某个文件的inode信息
[root@zabbix-server lianxi]# stat inode.txt 文件:"inode.txt"大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17399383 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-03-02 15:49:20.384057399 +0800
最近更改:2023-03-02 15:50:54.088203475 +0800
最近改动:2023-03-02 15:50:54.088203475 +0800
创建时间:-
inode的大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。lixun的文件系统中把这部分区域又叫super block(超级块)。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
inode号码
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。
Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号
使用 ls -i来查看文件的inode号码
[root@zabbix-server lianxi]# ls -i
17399383 inode.txt
使用 df -i命令,查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。
[root@zabbix-server lianxi]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 229876 401 229475 1% /dev
tmpfs 232878 1 232877 1% /dev/shm
tmpfs 232878 759 232119 1% /run
tmpfs 232878 16 232862 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 43724 8867124 1% /
/dev/sda1 524288 327 523961 1% /boot
tmpfs 232878 1 232877 1% /run/user/0
每一个文件都必须由一个inode,所以有可能发生inode已经用完,但是硬盘还没有用完的情况,这样就无法在硬盘上面创建新文件
系统打开一个文件的整个过程
首先,系统找到这个文件名对应的inode号码;
其次,通过inode号码,获取inode信息;
最后,根据inode信息,找到文件数据所在的block,读出数据。
目录文件
在linux操作系统中,目录(directory)也是一种文件,打开一个目录,其实就是打开了一个目录文件
目录文件的结构很简单,就是一系列目录项的列表
每个目录项由两部分组成:所包含文件的文件名,以及该文件名所对应的inode号码
这也是为什么使用ls -h
[root@zabbix-server lianxi]# ll -id /etc
16777281 drwxr-xr-x. 81 root root 8192 3月 2 09:58 /etc
######################################################################
block块
操作系统读取硬盘的时候,不会一个个扇区(512字节)地读取,这样效率太低,而是一次性的连续读取多个扇区,即一次性读取一个块(block),这种由多个扇区组成的块,是文件存取的最小单位,块的大小,最常见是1kb,即连着2扇区组成一个block,或4kb,即八个扇区组成一个block。
block是真正存储数据的地方
block是文件系统中最小的存储单位
扇区是磁盘中最小的存储单位
######################################################################
block调大
优点:速度快,节约寻址时间,缺点:空间浪费
例如:2T硬盘,前1.5T,使用4k的block大小,后面500G格式化成64k块大小,用空间换时间
原因:
block大小(1KB,2KB,或4KB)和数量在格式化后就已经决定,不能改变,除非重新格式化,每个block只能保存一个文件的数据,要是文件数据小于一个block块,那么这个block的剩余空间不能被其他文件使用,要是文件数据大于一个block块,则占用多个block块
显示磁盘状态信息:CentOS6用: dumpe2fs 分区名 ,CentOS7用xfs_info 分区名
[root@monitor-vm ~]# xfs_info /dev/vda1
meta-data=/dev/vda1 isize=512 agcount=4, agsize=65536 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
######################################################################
磁盘分区工具与挂载
1、磁盘常识
工厂生产的硬盘必须经过低级格式化,分区,高级格式化,三个处理步骤后,电脑才能利用他们存储数据,其中磁盘的低级格式化通常由生产厂家完成,目的是划定磁盘可供使用的扇区和磁道并标记有问题的扇区,而用户则需要使用操作系统提供的磁盘工具如fdisk,gdisk等重新进行硬盘分区和格式化。
2、磁盘两种分区表:MBR和GPT
MBR:将分区信息保存到磁盘的第一个扇区(MBR扇区)的64字节中,每个分区要占用16个字节,这意味着格式化的时候最多划分4个主分区,因为MBR分区表给定分区信息只有64个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。
特点:
MBR分区主分区数目不能超过4个,很多时候,4个主分区并不能满足需要。
MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起止位置也就无法表示了,BIOS将无法识别分区。(这种分区表逐渐将被淘汰,当然现在很多系统还在用)
GPT
GUID磁盘分割表(GUID Partition Table)的缩写,含义“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。
GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。
特点
支持2TB以上的大硬盘。
每个磁盘的分区个数几乎没有限制。操作系统存在允许的最多分区数的限制,比如win限制128个
######################################################################
3、使用fdisk管理分区(MBR分区表)
1、fdisk -l 查看系统所有硬盘及分区
[root@zabbix-server ssh]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0008f377设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
可以看到,已经存在的一个磁盘 /dev/sda 总共41943040个扇区,而这个磁盘已经分成了3个区,已经分配完成了,
要继续分配的话要新增加一块硬盘。
新增一块硬盘
新增硬盘成功,开启虚拟机,可以看到,新增加了一个硬盘,并且没有划分分区
[root@zabbix-server ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0008f377设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
######################################################################
2、进入fdisk工具进行分区操作
[root@zabbix-server ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xa78730bb 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):m
命令操作a toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)
常用fdisk工具命令:
a toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partition 删除分区g create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition types 显示分区类型(linux系统内核,很多个分区的类型,id)m print this menu 打印帮助菜单n add a new partition 添加新的分区o create a new empty DOS partition tablep print the partition table 显示分区表q quit without saving changes 不保存,退出s create a new empty Sun disklabelt change a partition's system id 改变分区类型u change display/entry unitsv verify the partition tablew write table to disk and exit 写分区表信息到硬盘,保存操作并退出x extra functionality (experts only)
分区操作:
[root@zabbix-server ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xc57cdce7 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n --新增分区
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p --新增主分区
分区号 (1-4,默认 1):1 --主分区只能有4个
起始 扇区 (2048-41943039,默认为 2048): --新增分区起始扇区,一般默认,直接回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G --分区大小
分区 1 已设置为 Linux 类型,大小设为 1 GiB命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): e --新增扩展分区
分区号 (2-4,默认 2):2 --扩展分区也要占用一个主分区
起始 扇区 (2099200-41943039,默认为 2099200): --默认起始扇区,从上一个主分区的终止扇区开始
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-41943039,默认为 41943039):+18G
分区 2 已设置为 Extended 类型,大小设为 18 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc57cdce7设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 39847935 18874368 5 Extended命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 1 extended, 2 free)l logical (numbered from 5)
Select (default p): l --扩展分区只能有一个,现在只能新建主分区和逻辑分区
添加逻辑分区 5 --逻辑分区从5开始
起始 扇区 (2101248-39847935,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-39847935,默认为 39847935):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc57cdce7设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 39847935 18874368 5 Extended
/dev/sdb5 2101248 6295551 2097152 83 Linux命令(输入 m 获取帮助):w --保存,将操作写入磁盘里
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
可以看到,刚才划分的分区就已经成功写入磁盘里了
分区格式化操作:
一般centos7使用xfs文件系统,centos6使用ext4文件系统,通常情况下使用官方建议的文件系统
[root@zabbix-server ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, 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
mkfs 命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是 4096),这些默认参数除非特殊情况,否则不需要调整,如果想要调整就需要使用 mke2fs 命令进行重新格式化,
建立挂载点
新建一个挂载目录/disk1,准备将主分区/dev/sda1 挂载到/disk1,挂载完了以后如果重启的话就会失效
[root@zabbix-server ~]# mkdir -p /disk1
[root@zabbix-server ~]# mount /dev/sdb1 /disk1
[root@zabbix-server ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 2.2G 15G 13% /
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /disk1
自动挂载
修改分区自动挂载文件 /etc/fstab 文件,添加自动挂载以后,当服务器重启的时候,磁盘会自动挂载到对应目录
[root@zabbix-server ~]# vim /etc/fstab
/dev/sdb1 /disk1 xfs defaults 0 0
######################################################################
4、使用gdisk管理分区(gpt分区表)
gpt分区表没有扩展分区和逻辑分区之分,只有主分区,一般windows对于gpt分区表的主分区数有一个128的数量限制
安装gdisk工具
yum install -y gdisk
进入gdisk进行分区
[root@zabbix-server ~]# gdisk /deb/sdb
GPT fdisk (gdisk) version 0.8.10Problem opening /deb/sdb for reading! Error is 2.
The specified file does not exist!
[root@zabbix-server ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: not presentBSD: not presentAPM: not presentGPT: not presentCreating new GPT entries.Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
gdisk常用命令
Command (? for help): ? # 查看帮助
b back up GPT data to a file
c change a partition's name
d delete a partition #删除分区
i show detailed information on a partition
l list known partition types
n add a new partition # 添加一个分区
o create a new empty GUID partition table (GPT)
p print the partition table # 打印分区表
q quit without saving changes # 退出不保存
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code #修改分区系统id
v verify disk
w write table to disk and exit # 写入分区表并退出
x extra functionality (experts only)
? print this menu
分区操作:
[root@zabbix-server ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: not presentBSD: not presentAPM: not presentGPT: not presentCreating new GPT entries.Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 41942973 sectors (20.0 GiB)Number Start (sector) End (sector) Size Code NameCommand (? for help): n
Partition number (1-128, default 1): 1
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +2G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8300
Changed type of partition to 'Linux filesystem'Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 37748669 sectors (18.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 4196351 2.0 GiB 8300 Linux filesystemCommand (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
查看分区
[root@zabbix-server ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0008f377设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 8D21C732-A799-40B8-B25B-7F9DE91252D8# Start End Size Type Name1 2048 4196351 2G Linux filesyste Linux filesystem
5、swap交换分区
未扩大swap之前:
[root@zabbix-server ~]# free -htotal used free shared buff/cache available
Mem: 1.8G 432M 894M 10M 492M 1.2G
Swap: 2.0G 0B 2.0G
配置交换分区
[root@zabbix-server ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: protectiveBSD: not presentAPM: not presentGPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 37748669 sectors (18.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 4196351 2.0 GiB 8300 Linux filesystemCommand (? for help): n
Partition number (2-128, default 2): 2
First sector (34-41943006, default = 4196352) or {+-}size{KMGTP}:
Last sector (4196352-41943006, default = 41943006) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 35651517 sectors (17.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 4196351 2.0 GiB 8300 Linux filesystem2 4196352 6293503 1024.0 MiB 8200 Linux swapCommand (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
######################################################################
格式化交换分区
[root@zabbix-server ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=efd3c262-1b70-435f-9b54-b79f305585bc
临时生效swap
[root@zabbix-server ~]# swapon /dev/sdb2
[root@zabbix-server ~]# free -htotal used free shared buff/cache available
Mem: 1.8G 439M 884M 10M 495M 1.2G
Swap: 3.0G 0B 3.0G
swap由2G变成3G
永久生效:要写入/etc/fstab文件里面
/dev/sdb2 swap swap defaults 0 0
######################################################################
5、将一个已经生效的分区改成swap分区
[root@zabbix-server ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: protectiveBSD: not presentAPM: not presentGPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 35651517 sectors (17.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 4196351 2.0 GiB 8300 Linux filesystem2 4196352 6293503 1024.0 MiB 8200 Linux swapCommand (? for help): t
Partition number (1-2): 1
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8D21C732-A799-40B8-B25B-7F9DE91252D8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 35651517 sectors (17.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 4196351 2.0 GiB 8200 Linux swap2 4196352 6293503 1024.0 MiB 8200 Linux swap
######################################################################
/etc/fstab 文件修复:
如果/etc/fstab文件挂载目录信息出错,服务器会启动不了,需要修复fstab文件
报错的情况下继续登录,修改/etc/fstab 报错,可能改不了,是挂载的问题,
mount -o remount,rw /
然后修改,最后重启!
相关文章:

Linux文件系统
目录 1、常见的linux文件系统 2、文件系统的组成 inode的内容: 可以用stat命令,查看某个文件的inode信息 inode的大小 inode号码 使用 ls -i来查看文件的inode号码 使用 df -i命令,查看每个硬盘分区的inode总数和已经使用的数量ÿ…...

扬帆优配|引活水 增活力 促转型 创业板助力实体经济高质量发展
立异就是生产力,企业赖之以强,国家赖之以盛。全面注册制变革持续开释立异生机。日前,创业板公司已开端连续公布2022年度年度报告和2023年第一季度成绩预告,从频频传来的“喜报”中可窥见立异驱动开展战略下新兴工业的强劲开展态势…...

【c++】:STL模板中string的使用
文章目录 STL简介一.认识string二.string中基本功能的使用总结STL简介 STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。STL的版本 原始版本 Alexand…...

华为OD机试用Python实现 -【连续字母长度 or 求第 K 长的字符串长度】 | 2023.Q1 A卷
华为OD机试题 本篇题目:连续字母长度 or 求第 K 长的字符串长度题目输入描述输出描述示例一输入输出说明示例二输入输出说明示例三输入输出说明Code代码编写逻辑最近更新的博客 华为od 2023 | 什么是华为od,od...

前端处理并发的最佳实践
什么是并发? 因为js是单线程的,所以前端的并发指的是在极短时间内发送多个数据请求,比如说循环中发送ajax。 举一个简单的例子: 下面一段代码是常规的mount阶段执行的请求: useEffect(async () > {console.time…...

【SOP 】配电网故障重构方法研究【IEEE33节点】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

[MySQL索引]4.索引的底层原理(三)
索引的底层原理(三)哈希索引InnoDB自适应哈希索引哈希索引 memory存储引擎支持的是哈希索引,memory是支持内存的存储引擎。 哈希表中的元素没有任何顺序可言,只能进行等值比较,包括范围搜索、前缀搜索like、order by…...

2023金三银四应届生求职面试指南
一、应届生优势 划重点,一定要走校招;千万不要等毕业之后再想着找工作,在毕业前就要敲定落实;否则,就真的该焦虑了。要知道应届生的身份是一个很吃香的身份;只有应届生可以走校园招聘。 1、那校园招聘跟社会招聘有多大的差距?? 这么说吧&…...

【数据结构】解决顺序表题的基本方法
🚀write in front🚀 📜所属专栏:> 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论࿰…...

HDFS如何解决海量数据存储及解决方案详解
HDFS组件 HDFS组件的基准测试 说明 一般在搭建完集群之后,运维人员需要对集群进行压力测试,对于HDFS来讲,主要是读写测试写入测试 hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.…...

认识CSS值如何提高写前端代码的效率
🌟所属专栏:前端只因变凤凰之路🐔作者简介:rchjr——五带信管菜只因一枚😮前言:该系列将持续更新前端的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~👉文章简…...

MySQL知识点全面总结3:Mysql高级篇
三.MySQL知识点全面总结3:mysql高级篇 1.mysql语句的执行过程? 2.myesql事务详解? 3.mysql日志详解? 4.mysql的索引功能详解? 5.mysql的存储引擎详解? 6.mysql事务提交后数据与硬盘如何交互存储&…...

Spring注解开发之组件注册(二)
Spring注解开发之组件注册(一) 5.Import 给容器导入一个组件 给容器中注册组件 一、包扫描 组件标注注解(Controller/Service/Repository/Component) [自己写的类] 二、Bean [导入的第三包里面的组件] 三、Import [快速给容器中导入组件] (Import{…...

【web前端开发】CSS最常用的11种选择器
文章目录1.CSS介绍2.CSS的语言规则3.CSS的引入方式4.选择器标签选择器类选择器id选择器通配符选择器复合选择器后代选择器子代选择器并集选择器交集选择器伪类选择器hover伪类选择器active伪类选择器结构伪类选择器结语1.CSS介绍 CSS (Cascading Style Sheets,层叠样…...

微电影广告发展的痛点
微电影广告以不可阻挡之势进入大众生活中,企业利用微电影广告来进行企业形象塑造的例子比比皆是。于是乎,微电影广告在为企业塑造品牌形象方面上取得了可喜的效果,但也不可忽视,在这个发展过程中,微电影广告所面临的问…...

uniapp新手入门
前言: 这篇文章主要写的是uniapp的基础知识,可以让大家快速上手uniapp,同时避掉一些可能踩到的坑。 一. 什么是uniapp uniapp是由dcloud 公司开发的多端融合框架。uniapp的出现让我们的开发更为方便,一次开发,多端运行…...

linux segfault at 问题定位实践
问题:程序崩溃,打印为:app[13016]: segfault at 7fb668d29930 ip 00007fb668d3c23c sp 00007fb668e7de20 error 7 in mydefine.so[7fb668d3400011000]定位步骤:基础分析数据,大概了解反馈信息(根据chatGPT&…...

SpringCloud+SpringCloudAlibaba
架构的演进1.1单体架构将所有业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。◆ 1.1.1单体架构的优点1)部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。2&…...

华为OD机试 - 路灯照明(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:路灯照明…...

Linux程序替换
Linux程序替换创建子进程的目的?程序替换如何实现程序替换?什么是程序替换?先见一见单进程版本的程序替换程序替换原理多进程版本的程序替换execl函数组简易版Shell创建子进程的目的? 目的:为了帮助父进程完成一些特定的任务&…...

@JsonFormat @DataTimeFormat 时间格式
省流:用JsonFormat即可有时候会看到入参dto里,在时间类型的变量上用DateTimeFormat,代码如下。public class XXXdto{DateTimeFormat(pattern "yyyy-MM-dd hh:mm:ss")private Date startDate; }这是为了入参传日期格式的值。即前端…...

带你玩转modbusTCP通信
modbus TCP Modbus TCP是一种基于TCP/IP协议的Modbus通信协议,它是Modbus协议的一种变体,用于在以太网上进行通信。Modbus TCP协议是一种开放的通信协议,它支持多种编程语言和操作系统,并且可以在不同的硬件和软件平台上进行通信…...

2021牛客OI赛前集训营-提高组(第三场)T2交替
2021牛客OI赛前集训营-提高组(第三场) 题目大意 一个长度为nnn的数组aaa,每秒都会变成一个长度为n−1n-1n−1的新数组a′aa′,其变化规则如下 如果当前数组aaa的大小nnn为偶数,则对于新数组a′aa′的每一个位置i(1≤…...

论文投稿指南——中文核心期刊推荐(金融)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

华为OD机试 - 不等式(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:不等式题…...

90后老板用低代码整顿旅行社,创2000万年收,他是怎么做到的?(真实)
热爱旅游的92年成都小伙猴哥,大学毕业后开了一家旅行社,主要从事川藏、云南定制游服务。 从今年春节开始,国内各地旅游业开始复苏,向旅行社打电话咨询的人越来越多。 旅游的人多是好事,也是一种烦恼,因为…...

Apache Dubbo 存在反序列化漏洞(CVE-2023-23638)
漏洞描述 Apache Dubbo 是一款轻量级 Java RPC 框架 该项目受影响版本存在反序列化漏洞,由于Dubbo在序列化时检查不够全面,当攻击者可访问到dubbo服务时,可通过构造恶意请求绕过检查触发反序列化,执行恶意代码 漏洞名称Apache …...

【YOLO】YOLOv8训练自定义数据集(4种方式)
YOLOv8 出来一段时间了,继承了分类、检测、分割,本文主要实现自定义的数据集,使用 YOLOV8 进行检测模型的训练和使用 YOLOv8 此次将所有的配置参数全部解耦到配置文件 default.yaml,不再类似于 YOLOv5,一部分在配置文件…...

linux重置root用户密码
重置root密码 法一:rd.break 第 1 步:重启系统编辑内核参数 第 2 步:找到 linux 这行,在此行末尾空格后输入rd.break (End键也可直接进入行尾) 成功后显示页面为: 第 3 步:查看。…...

【DBC专题】-10-CAN DBC转换C语言代码Demo_接收Rx报文篇
案例背景(共15页精讲): 该篇博文将告诉您,CAN DBC转换C语言代码Demo,只需传递对应CAN信号关联参数,无需每个信号"左移"和"右移",并举例介绍:在CANoe/Canalyzer中CAPL中的应用ÿ…...