linux-磁盘管理

linux-磁盘管理

命令     该命令的注释
fdisk -l   查看当前磁盘的分区状况
fdisk /dev/sda   让硬盘进入分区模式,所分的磁盘在 /dev 下的 sda 这块磁盘
partprobe   将分区信息读到内核中
mkfs.ext2 /dev/sda5   将 /dev下的 sda5 磁盘格式化为 ext2 的格式类型
mount /dev/sda5/test   将 /dev/sda5 挂载到 test 中
umount /dev/sda5或者umount /test    卸载已经挂载的 /dev/sda5 磁盘也就是作为挂载接口的test目录
mount    查看当前磁盘的详细挂载信息
df -hT    查看磁盘的信息(推荐)
blkid    查看对应分区的UUID(编号)

一、基本分区
磁盘简介:
1.1类型:原理区分:机械硬盘、固态硬盘
1.2接口:早期IDE、现在ATA
1.3术语:
盘片-- 盘片(disk)是硬盘中承载数据存储的介质
柱面-- 硬盘柱面是硬盘的一个物理结构部分。硬盘的主体部分是由铝合金材料制成的涂以磁性介质的数个圆形盘片,每个盘片的两面涂有磁涂层,用来记录数据。
扇区-- 盘的内部圆形金属盘片被磁道划分成若干个 扇形 区域,用以存储数据
磁道-- 当磁盘旋转时,磁头若保持在一个位置上,则每个 磁头 都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
1.4 命名
STTA(串口)
(1)/dev/sda
/dev:设备文件目录   s:代表sata就是串口
d:磁盘   a:第一块
(2)/dev/sdb
其他与(1)相同   b:第二块
abcdefghijk......共26个字母
1.5分区方式
MBR(主引导记录):支持最大的磁盘容量<2TB,设计时分配4个分区 如果希望超过四个分区,需要放弃主分区,改为扩展分区和逻辑分区
GPT:支持大于2T的硬盘,支持128个分区
2、管理硬盘
2.1添加硬盘
2.2 管理磁盘流程三部曲
新硬盘先 分区MB->格式化/文件系统filesystem->挂载mount 隔间--->放家具--->加个门/目录
2.3查看磁盘信息
[root@localhost ~]# ll /dev/sd*
//查看磁盘信息(方法1)
brw-rw----. 1 root disk 8,  0 8月   2 10:21 /dev/sda
brw-rw----. 1 root disk 8,  1 8月   2 10:21 /dev/sda1
brw-rw----. 1 root disk 8,  2 8月   2 10:21 /dev/sda2
brw-rw----. 1 root disk 8, 16 8月   2 10:21 /dev/sdb
brw-rw----. 1 root disk 8, 32 8月   2 10:21 /dev/sdc
brw-rw----. 1 root disk 8, 48 8月   2 10:21 /dev/sdd
brw-rw----. 1 root disk 8, 64 8月   2 10:21 /dev/sde
brw-rw----. 1 root disk 8, 80 8月   2 10:21 /dev/sdf
[root@localhost ~]# lsblk
//查看磁盘信息(方法2)
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    2G  0 disk
sdc               8:32   0    5G  0 disk
sdd               8:48   0    2G  0 disk
sde               8:64   0    5G  0 disk
sdf               8:80   0    5G  0 disk
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64
2.4创建分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x2295faa4 创建新的 DOS 磁盘标签。
操作: 按n
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
    操作: 按p
Select (default p): p
分区号 (1-4,默认 1):
     操作: 输入1~4其中一个
分区号 (1-4,默认 1):1
起始 扇区 (2048-4194303,默认为 2048):
     操作: 回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):
    操作: +1G
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+1G                 
分区 1 已设置为 Linux 类型,大小设为 1 GiB
    操作: w  //保存
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe  /dev/sdb
//载入内核
[root@localhost ~]# fdisk -l /dev/sdb
//查看分区
磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2fa886de
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
[root@localhost ~]# lsblk
//查看磁盘信息
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    2G  0 disk
└─sdb1            8:17   0    1G  0 part
sdc               8:32   0    5G  0 disk
sdd               8:48   0    2G  0 disk
sde               8:64   0    5G  0 disk
sdf               8:80   0    5G  0 disk
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64
——————————————————————
2.5 创建文件系统 房子里的家具
[root@localhost ~]# mkfs.ext4      /dev/sdb1
//格式化
m:make(创造) f:file(文件) s:system(系统)
ext4:wxtend4(扩展,文件系统的类型)     /dev/sdb1:第二块串口硬盘的第一个分区,准备格式化
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
2.6挂载mount
手动挂载
[root@localhost ~]# mkdir /mnt/111
//创建文件111
[root@localhost ~]# mount -t ext4(文件类型)  /dev/sdb1(磁盘路径)  /mnt/111(文件路径)
//挂载              
[root@localhost ~]# df -hT
// 查看挂载信息
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.5M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.2G   12G   31% /
/dev/sda1               xfs      1014M  172M  843M   17% /boot
tmpfs                   tmpfs      98M   40K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/111
2.7操作剩下的内存空间
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     2293759       97280   83  Linux
/dev/sdb3         2293760     3074047      390144   83  Linux
/dev/sdb4         3074048     4194303      560128   83  Linux
//四个分区都已经被分完·无法再分区了
命令(输入 m 获取帮助):d
分区号 (1-4,默认 4): 4
分区 4 已删除
//删除第四个分区
命令(输入 m 获取帮助): p
//查看
命令(输入 m 获取帮助): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (3074048-4194303,默认为 3074048):
将使用默认值 3074048
Last 扇区, +扇区 or +size{K,M,G} (3074048-4194303,默认为 4194303):
将使用默认值 4194303
分区 4 已设置为 Extended 类型,大小设为 547 MiB
二、 逻辑卷LVM
1.1目的:管理磁盘的一种方式,性质与基本磁盘无异
1.2特点: 随意扩张大小
1.3术语:
PV:物理卷(physical volume)
VG:卷组(volume group)
LV:逻辑卷(logical volume)
1.4创建LVM
(1)[root@localhost ~]# pvcreate /dev/sde
//创建物理卷
  Physical volume "/dev/sde" successfully created.
(2)  Physical volume "/dev/sde" successfully created.
[root@localhost ~]# vgcreate vg1(自己命名) /dev/sde
(3) [root@localhost ~]# lvcreate -L 100M -n  lv1 vg1
//创建逻辑卷
  Logical volume "lv1" created.
-L :大小     -n: 卷名    lv1->vg1( 把lv1放到vg1里面
//创建卷组
  Volume group "vg1" successfully created
(4)格式化
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
 /dev/卷组名/逻辑卷名
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
(5)创建挂载点
[root@localhost ~]# mkdir /mnt/sde1
(6)挂载
[root@localhost ~]# mount /dev/vg1/lv1   /mnt/sde1
(7)将磁盘sde1写满
[root@localhost ~]# dd if=/dev/zero  of=/mnt/sdb1 bs=1M  count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.243365 秒,431 MB/秒
1.4 VG管理:
1.4.1扩大VG
[root@localhost ~]# pvs
//查看物理卷
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g     0
  /dev/sde   vg1    lvm2 a--   <5.00g <4.90g
  /dev/sde   vg1    lvm2 a--   <5.00g <4.90g
[root@localhost ~]# vgextend vg1  /dev/sdf
//扩容
  Physical volume "/dev/sdf" successfully created.
  Volume group "vg1" successfully extended
[root@localhost ~]# vgs
//查看卷组
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.00g    0
  vg1      2   1   0 wz--n-   9.99g 9.89g
1.5LV扩容
(1)[root@localhost ~]# lvextend -L +4G /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to <4.10 GiB (1049 extents).
  Logical volume vg1/lv1 successfully resized.
(2)
[root@localhost ~]# resize2fs /dev/vg1/lv1
//刷新
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/sde1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 34
The filesystem on /dev/vg1/lv1 is now 4349952 blocks long.
三、 交换分区管理Swap
1.2作用:' 提升内存'的容量',防止OOM(内存溢出)
1.3Swap大小:
(1)推荐:设置分区大小内存的两倍
(2)生产: linux-磁盘管理_第1张图片
2、查看当前的交换分区
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         615          66          25         290         189
Swap:          2047         128        1919
然后创建sdc1分区
    设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1         2097152    10485759     4194304   83  Linux
更改类型:
Hex 代码(输入 L 列出所有代码):82(默认83)
已将分区“Linux”的类型更改为“Linux swap / Solaris”
正在同步磁盘。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    2G  0 disk
├─sdb1            8:17   0    1G  0 part /mnt/111
├─sdb2            8:18   0   95M  0 part /mnt/222
├─sdb3            8:19   0  381M  0 part /mnt/333
└─sdb4            8:20   0  547M  0 part
sdc               8:32   0    5G  0 disk
└─sdc1            8:33   0    4G  0 part
sdd               8:48   0    2G  0 disk
sde               8:64   0    5G  0 disk
sdf               8:80   0    5G  0 disk
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64
1、刷新(将分区信息读到内核中)
[root@localhost ~]# partprobe /dev/sdc
2、查看分区
[root@localhost ~]# ll /dev/sdc*
\brw-rw----. 1 root disk 8, 32 8月   5 21:03 /dev/sdc
brw-rw----. 1 root disk 8, 33 8月   5 21:03 /dev/sdc1
3、格式化
[root@localhost ~]# mkswap /dev/sdc1
正在设置交换空间版本 1,大小 = 4194300 KiB
无标签,UUID=b2768fa2-c44e-4448-a656-07b524b4384c
4、挂载
[root@localhost ~]# swapon /dev/sdc1
5、查看验证
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         615          75          25         281         189
Swap:          6143         129        6014
6、删除
[root@localhost ~]# swapoff /dev/sdc1
7、卸载
[root@localhost ~]# umount /dev/sdc1
四、文件系统详解(ext4)
1、EXT3/4文件系统
1.1简介:
类型:索引文件系统
1.2名词
inode(索引节点):
  • 记录文件的属性(文件元数据metadata)
  • 一个文件占用一个inode,同时记录此文件数据所在的block number
  • inode大小为128bytes
block(块):
  • 存储文件的实际数据
  • 实际存储文件的内容,若文件较大,会占用多个block
  • block的大小为4K
superblock(超级块):多个inode和block的组合
1.3 inode 实例
[root@localhost ~]# cd /mnt/111/
//进入sdb1所挂载的文件
[root@localhost 111]# touch 1
//创建文件1
[root@localhost 111]# ls -l -i 1
//查看文件1
12 -rw-r--r--. 1 root root 0 8月   6 21:31 1
12:inode号
[root@localhost 111]# df  -hT  | grep sdb1
//查看sdb1的挂载信息
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/111
[root@localhost 111]# df  -i
//查看可用的inode号的数量
文件系统                  Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                 120203     473  119730       1% /dev
tmpfs                    124459       1  124458       1% /dev/shm
tmpfs                    124459    1073  123386       1% /run
tmpfs                    124459      16  124443       1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848  157800 8753048       2% /
/dev/sda1                524288     340  523948       1% /boot
tmpfs                    124459      24  124435       1% /run/user/0
/dev/sr0                      0       0       0        - /run/media/root/CentOS 7 x86_64
/dev/sdb1                 65536      12   65524       1% /mnt/111
/dev/sdb2                 24384      11   24373       1% /mnt/222
/dev/sdb3                 97536      11   97525       1% /mnt/333
/dev/sdd1                128016      11  128005       1% /mnt/dd1
/dev/mapper/vg1-lv1     1049256      11 1049245       1% /mnt/sde1
[root@localhost 111]# touch file{1..65537}
//创建65537个文件
touch: 无法创建"file65525": 设备上没有空间
[root@localhost 111]# ls -l | wc -l
//数有多少个文件
65527
注意:这时不能再创建文件inode已经满了,但是可以写数据block可以用
五、文件链接
1、 符号链接
1.1symbolic link 软链接
echo  111 >  /1.txt
//写222到文件 1.txt
1.2具体过程
(1)[root@localhost 111]# ln -s  /1.txt    /root/桌面/1.txt
//创建链接到桌面(快捷方式)
注意:快捷方式删除文件内容还在
特点:可以对文件和目录做
2、 硬链接
[root@localhost 111]# echo  file1  >   /file1
//将file1 写入file1
[root@localhost 111]# ln  /file1      /file2
//在file2中创建file1的快捷方式
[root@localhost 111]# ls -l /file1   /file2     /1.txt
//查看、file1  file2   1.txt
-rw-r--r--. 1 root root 46 8月   6 22:01 /1.txt
-rw-r--r--. 2 root root  6 8月   6 22:11 /file1
-rw-r--r--. 2 root root  6 8月   6 22:11 /file2
特点:硬链接在源文件删除后,文件内容仍然存在
          只能对文件做不能对目录做
六、RAID(了解)
简介:廉价的磁盘阵列
作用:容错、提高读写速度
类型:
RAID0:至少两块磁盘、速度快、不能容错
RAID1:镜像卷 2块磁盘、容量50%、读写速度一般、容错
RAID5:至少3块硬盘、利用率:n-1/n、可靠、高速
1、保障数据的安全性
2、提高读写速度
软RID示例:
(1)准备n块硬盘
RAID5: 三块数据盘+一块热备盘
(2)创建RAID
[root@localhost ~]# mdadm -C  /dev/md0     -l5  -n3   -x1   /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
(3)格式化
[root@localhost ~]# mkfs.ext4 /dev/mod
//格式化
[root@localhost ~]# mkfs.ext4 /dev/mdo
mke2fs 1.42.9 (28-Dec-2013)
无法对 /dev/mdo 进行 stat 调用 --- 没有那个文件或目录

The device apparently does not exist; did you specify it correctly?
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2618880 blocks
130944 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 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, 1605632


Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
(4)挂载
[root@localhost ~]# mkdir /mnt/raid5/
//创建
[root@localhost ~]# mount /dev/md0   /mnt/raid5/
//挂载
[root@localhost ~]#  cp -rf /etc/    /mnt/raid5/etc1
 /dev/md0                ext4      9.8G   82M  9.2G    1% /mnt/raid5
[root@localhost ~]# df -hT  | grep /dev/md0
//查看
/dev/md0          ext4      9.8G   82M  9.2G    1% /mnt/raid5
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Aug  7 10:12:11 2022
        Raid Level : raid5
        Array Size : 10475520 (9.99 GiB 10.73 GB)
     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Sun Aug  7 10:19:18 2022
             State : clean
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1


            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : b53a0d85:02b9ea0d:b08318b4:b44c2dce
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde

 

你可能感兴趣的:(linux,linux,服务器,运维)