bash[root@centosmini01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 762M 0 part /boot
└─sda2 8:2 0 9.3G 0 part
├─centos-root 253:0 0 7.4G 0 lvm /
└─centos-swap 253:1 0 1.9G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sr0 11:0 1 9.5G 0 rom
bash[root@centosmini01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc2ab241a.
# 使用n选项进行分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
# 选择主分区
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 10485759
Partition 1 of type Linux and of size 5 GiB is set
# 显示分区成功,大小为 5 GiB
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (10485760-20971519, default 10485760):
Using default value 10485760
Last sector, +sectors or +size{K,M,G} (10485760-20971519, default 20971519):
Using default value 20971519
Partition 2 of type Linux and of size 5 GiB is set
# w 选项为写入所有更改并退出
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
bashDisk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc2ab241a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10485759 5241856 83 Linux
/dev/sdb2 10485760 20971519 5242880 83 Linux
bash[root@centosmini01 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
bash[root@centosmini01 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@centosmini01 ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, 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
bash[root@centosmini01 ~]# mkdir /data /data1
[root@centosmini01 ~]# ls /
bin boot data data1 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
bash[root@centosmini01 ~]# mount /dev/sdb1 /data
[root@centosmini01 ~]# mount /dev/sdb2 /data1
[root@centosmini01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 7.4G 1.6G 5.9G 21% /
/dev/sda1 759M 163M 597M 22% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 4.8G 20M 4.6G 1% /data
/dev/sdb2 5.0G 33M 5.0G 1% /data1
bash[root@centosmini01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="fea3f537-e490-437d-8bea-f1665ac0ad59" TYPE="ext4"
[root@centosmini01 ~]# blkid /dev/sdb2
/dev/sdb2: UUID="eb345697-6169-4da3-b2d3-421bdd1e224f" TYPE="xfs"
/etc/fstable[root@centosmini01 ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Wed Apr 24 23:24:31 2024 # # 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 # /dev/mapper/centos-root / xfs defaults 0 0 UUID=863ff5b7-fc4f-4523-b2a5-f0f37af3b35d /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 UUID=fea3f537-e490-437d-8bea-f1665ac0ad59 /data ext4 defaults 0 0 UUID=eb345697-6169-4da3-b2d3-421bdd1e224f /data1 xfs defaults 0 0
bash[root@centosmini01 ~]# mount -a
bash[root@centosmini01 ~]# cd /data
[root@centosmini01 data]# touch file.txt
[root@centosmini01 data]# ls
file.txt lost+found
bash[root@centosmini01 data]# ln -s /data/file.txt /data1/file1-s.txt
[root@centosmini01 data]# ln /data/file.txt /data1/file1.txt
ln: failed to create hard link ‘/data1/file1.txt’ => ‘/data/file.txt’: Invalid cross-device link
[root@centosmini01 data]# cd /data1
[root@centosmini01 data1]# ll
total 0
lrwxrwxrwx. 1 root root 14 Apr 26 00:58 file1-s.txt -> /data/file.txt
硬链接无法跨文件系统或者分区创建
硬链接:硬链接的一个限制是不能跨越不同的文件系统或分区。这是因为硬链接实际上是文件系统中的一个 inode 的别名(或额外的名字)。inode 是文件系统中的一个数据结构,它存储了文件的元数据(如文件大小、创建时间、所有者等)以及文件数据的位置。因此,硬链接只能在同一个文件系统或分区中创建。如果 /data 和 /data1 在不同的分区或文件系统中,你将无法创建硬链接。
符号链接:符号链接,或称为软链接,是一个特殊的文件,它包含了另一个文件的路径。因为符号链接只存储了目标文件的路径,而不是像硬链接那样与目标文件的 inode 直接关联,所以符号链接可以跨越文件系统和分区。即使 /data 和 /data1 在不同的分区或文件系统中,你仍然可以创建符号链接。
扩容磁盘:这是扩容过程的第一步,因为所有的数据都存储在磁盘上。如果磁盘的空间不足,那么分区和文件系统都无法扩容。扩容磁盘通常通过添加新的磁盘或者使用现有磁盘上未使用的空间来完成。
扩容分区:在磁盘扩容之后,需要对分区进行扩容。分区是磁盘上的一部分,它们可以包含一个或多个文件系统。如果分区的大小没有增加,那么即使磁盘的大小增加了,文件系统也无法利用这些额外的空间。
扩容文件系统:在分区扩容之后,最后一步是扩容文件系统。文件系统是用于存储和组织数据的一种方法,它决定了数据在磁盘上的布局。如果文件系统的大小没有增加,那么即使分区的大小增加了,用户也无法使用这些额外的空间。
bash[root@centosmini01 data1]# parted -s /dev/sdc mklabel msdos
[root@centosmini01 data1]# fdisk -l /dev/sdc
Disk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e0993
Device Boot Start End Blocks Id System
[root@centosmini01 data1]# parted -s /dev/sdc mkpart primary 0% 100%
[root@centosmini01 data1]# fdisk -l /dev/sdc
Disk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e0993
Device Boot Start End Blocks Id System
/dev/sdc1 2048 20971519 10484736 83 Linux
[root@centosmini01 data1]# mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=655296 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621184, 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
bash[root@centosmini01 data1]# pvcreate /dev/sdc1
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdc1.
Physical volume "/dev/sdc1" successfully created.
bash[root@centosmini01 data1]# vgextend centos /dev/sdc1
Volume group "centos" successfully extended
bash[root@centosmini01 data1]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 7.39 GiB (1892 extents) to <17.39 GiB (4451 extents).
Logical volume centos/root successfully resized.
bash[root@centosmini01 data1]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=484352 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1937408, 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
data blocks changed from 1937408 to 4557824
bash[root@centosmini01 data1]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.8M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 18G 1.7G 16G 10% /
/dev/sda1 759M 163M 597M 22% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 4.8G 20M 4.6G 1% /data
/dev/sdb2 5.0G 33M 5.0G 1% /data1
CIDR 地址块:128.14.35.7/20
网络地址:网络地址是 CIDR 块中的第一个地址。我们首先将 IP 地址的前 20 位保持不变,然后将后面的位设置为 0。这样,我们得到的网络地址是 128.14.32.0。
最小有效地址:最小有效地址是网络地址后的第一个地址,即 128.14.32.1。
子网掩码:/20 的子网掩码表示前 20 位是网络部分,后 12 位是主机部分。所以子网掩码是 255.255.240.0。
最大地址:最大地址是将 IP 地址的前 20 位保持不变,然后将后面的位设置为 1。这样,我们得到的最大地址是 128.14.47.255。
/22 的 CIDR 地址块数量:/20 的 CIDR 地址块可以被分成 4 个 /22 的 CIDR 地址块,因为 2^(22-20) = 4。
/22 的 CIDR 地址块:这 4 个 /22 的 CIDR 地址块的网络地址分别是:
CIDR 地址块:172.16.34.78/17
网络地址:网络地址是 CIDR 块中的第一个地址。我们首先将 IP 地址的前 17 位保持不变,然后将后面的位设置为 0。这样,我们得到的网络地址是 172.16.0.0。
最小有效地址:最小有效地址是网络地址后的第一个地址,即 172.16.0.1。
子网掩码:/17 的子网掩码表示前 17 位是网络部分,后 15 位是主机部分。所以子网掩码是 255.255.128.0。
最大地址:最大地址是将 IP 地址的前 17 位保持不变,然后将后面的位设置为 1。这样,我们得到的最大地址是 172.16.127.255。
CIDR 分配:/17 的 CIDR 地址块可以被分成 1 个 /18 的 CIDR 地址块和 2 个 /19 的 CIDR 地址块。这些 CIDR 地址块的网络地址分别是:
应用层
,传输层
,网络层
和网络接口层
。封装格式
:网络接口层的传输单位是帧(frame)
,IP 层的传输单位是包(packet)
,TCP 层的传输单位是段(segment)
,**HTTP **的传输单位则是消息或报文(message)
。但这些名词并没有什么本质的区分,**可以统称为数据包**
。
本文作者:GYC
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!