Centos基础磁盘管理操作

一、磁盘基础知识

  • 实现数据持久化存储(除去人为干预原因,数据不会丢失)

  • /dev/sda:这就代表一块硬盘

  • vim、ls、cat、touch:只能看文本文件,不能看块设备文件例如::/dev/sda

  • 块设备文件:硬盘中存储是以最小单位数据块进行存储的,通过文件系统把文件变成块,把每一个块的大小为4K,一块一块的存,

  • 清除文件系统:

    • dd if=/dev/zero of=/dev/sdb1 bs=512

  • 任何文件在硬盘上存储信息的时候,都会被分成两部分,一部分是真实数据本身放到数据块中,另一部分是元数据信息

    • 元数据信息metadata(存在inode中)

      • 文件对应的数据块

      • 名称、大小、类型、时间、

      • stat /etc/fstab

    • 例如一块U盘,容量总是不够为什么?

      • 文件系统信息

      • 元数据信息 inode

      • 分区表 64字节(主分区和扩展分区本身的信息,一个分区占16,所以在建主分区的的时候只能建4个)

  • Linux系统在开机的时候,在操作系统所在的磁盘/dev/sda上有446字节的开机引导程序,可用dd命令将446字节抹掉

    • [root@localhost ~]# dd if=/dev/zero of=/db/ljh/c.txt bs=5M count=20

    • 也可以用来抹掉文件系统

img

1、硬盘表示方法

 [root@bogon ~]# ls -l /dev/sda
 brw-rw---- 1 root disk 8, 0 Dec 22 16:53 /dev/sda

  • 文件名称:/dev/sbX

    • X:第X块硬盘

  • 硬盘接口:sd

    • SATA接口(接口不同,影响的就是I/O速度,读写速度)

      • 理论来说6G/s

    • SAS接口(物理区别,中间有芯片链接电源和接口)

      • 理论来说6G/s

2、分区表示方法

  • 方便数据的分类管理

  • 分区类型

    • 主分区(最多四个主分区)

    • 扩展分区(最多一个,且不能存储数据,建立的目的是为了在这个基础上建立逻辑分区)

    • 逻辑分区(没有数量限制)

3、硬盘类型

  • 机械硬盘(读取速度慢)

    • 转速:rpm (转速越快,读取速度越快)

  • 固态硬盘 SSD (读取速度快)

4、磁盘的使用流程

  • 添加硬盘

  • 规划分区

  • 创建文件系统(格式化)

    • windows的文件系统

      • NTFS、FAT32

        • FAT32文件系统不支持存储超过4G的文件

    • linux的文件系统

      • xfs(常用)、ext4、ext3、

      • swap:交换分区

  • 挂载(将空目录与磁盘建立映射关系)

    • 将磁盘与某个空目录创建关联关系

  • 数据读写

二、磁盘操作指令

1、查看磁盘

  • lsblk

 [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   20G  0 disk 
 sr0             11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64

  • fdisk -l /dev/sda

 [root@localhost ~]# fdisk -l /dev/sdb
 ​
 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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

2、查看磁盘UUID、文件系统类型

  • blkid

 /dev/sda1: UUID="2bb8c415-48c0-45d6-9ccc-3bafc8be8091" TYPE="xfs" 

3、管理磁盘分区

  • fdisk 磁盘名

  • p:显示磁盘的分区表

  • n:新建分区

  • d:删除分区

  • q:不保存退出

  • w:保存退出

  • t:显示分区类型

4、创建文件系统(格式化)

 mkfs -t ext4 /dev/sdb1
 mkfs.xfs /dev/sdb2

5、挂载

 mount 设备文件 挂载点目录
 mount /dev/sdb2 /adc

6、使用并查看磁盘容量

 df -Th

7、实例

  • 添加10G硬盘,创建如下分区

    • 主分区 500M xfs文件系统 /data/web

    • 扩展分区

    • 逻辑分区 500M xfs文件系统 /data/web2

    • 逻辑分区 2G ext4文件系统 /data/we

  • 分区

 [root@localhost ~]# fdisk /dev/sdb
 ​
 Command (m for help): p
 ​
 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0x73f39e9c
 ​
    Device Boot      Start         End      Blocks   Id  System
 ​
 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): 
 First sector (2048-41943039, default 2048):    
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +500M
 Partition 1 of type Linux and of size 500 MiB is set
 ​
 Command (m for help): n
 Partition type:
    p   primary (1 primary, 0 extended, 3 free)
    e   extended
 Select (default p): e
 Partition number (2-4, default 2): 
 First sector (1026048-41943039, default 1026048): 
 Using default value 1026048
 Last sector, +sectors or +size{K,M,G} (1026048-41943039, default 41943039): 
 Using default value 41943039
 Partition 2 of type Extended and of size 19.5 GiB is set
 ​
 Command (m for help): n
 Partition type:
    p   primary (1 primary, 1 extended, 2 free)
    l   logical (numbered from 5)
 Select (default p): l
 Adding logical partition 5
 First sector (1028096-41943039, default 1028096): 
 Using default value 1028096
 Last sector, +sectors or +size{K,M,G} (1028096-41943039, default 41943039): +500M
 Partition 5 of type Linux and of size 500 MiB is set
 ​
 ​
 Command (m for help): n
 Partition type:
    p   primary (1 primary, 1 extended, 2 free)
    l   logical (numbered from 5)
 Select (default p): l
 Adding logical partition 6
 First sector (2054144-41943039, default 2054144): 
 Using default value 2054144
 Last sector, +sectors or +size{K,M,G} (2054144-41943039, default 41943039): +2G
 Partition 6 of type Linux and of size 2 GiB is set
 ​
 Command (m for help): p
 ​
    Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1            2048     1026047      512000   83  Linux
 /dev/sdb2         1026048    41943039    20458496    5  Extended
 /dev/sdb5         1028096     2052095      512000   83  Linux
 /dev/sdb6         2054144     6248447     2097152   83  Linux
 ​
 Command (m for help): w
 The partition table has been altered!
 ​
 [root@localhost ~]# partprobe /dev/sdb      //让系统内核识别硬盘的变化
  • 让内核识别磁盘变化

[root@localhost ~]# partprobe /dev/sdb		//让系统内核识别硬盘的变化
  • 格式化

[root@localhost ~]# mkfs -t xfs /dev/sdb1
[root@localhost ~]# mkfs -t xfs /dev/sdb5
[root@localhost ~]# mkfs -t exxt4 /dev/sdb6
  • 挂载

[root@localhost ~]# mkdir /data/web
[root@localhost ~]# mkdir /data/web2
[root@localhost ~]# mkdir /data/web3
[root@localhost ~]# mount /dev/sdb1 /data/web
[root@localhost ~]# mount /dev/sdb5 /data/web2
[root@localhost ~]# mount /dev/sdb6 /data/web3
  • 使用

[root@localhost ~]# touch /data/web/{1..10}.txt
[root@localhost ~]# ls /data/web
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
[root@localhost ~]# touch /data/web2/{1..10}.jpg
[root@localhost ~]# ls /data/web2/
10.jpg  1.jpg  2.jpg  3.jpg  4.jpg  5.jpg  6.jpg  7.jpg  8.jpg  9.jpg
[root@localhost ~]# touch /data/web3/{1..10}.conf
[root@localhost ~]# ls /data/web3/
10.conf  2.conf  4.conf  6.conf  8.conf  lost+found
1.conf   3.conf  5.conf  7.conf  9.conf

三、实现开机自动挂载

  • 配置文件

    • /etc/fsatab

  • 文件格式

    • 设备文件/UUID 挂载点目录 文件系统 挂载参数(defaluts) 0 0

      • 第一个数字 是否自动备份文件数据

        • 0 不备份

        • 1 备份

      • 第二个数字 开机是否要检测磁盘

        • 0 不检测

        • 1 优先检测

        • 2 最后检测

vim /etc/fstab
mount -a 			//重新读取fstab文件

四、限制磁盘存储数据的因素

  • 容量

    • su -Th

  • inode i节点

    • 文件个数的限制

    • df -i /dev/sdb1

五、扩展swap分区容量

1、查看当前分区大小

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         650          59          20         262         161
Swap:          2247           6        2241
[root@localhost ~]# 

2、增加2G的swap分区,ID为82

Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 12
First sector (23242752-41943039, default 23242752): 
Using default value 23242752
Last sector, +sectors or +size{K,M,G} (23242752-41943039, default 41943039): +2G
Partition 12 of type Linux and of size 2 GiB is set

Command (m for help): t
Partition number (1,2,5-12, default 12): 
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): w

3、为交换分区创建文件系统

[root@localhost ~]# partprobe 			//让内核识别磁盘变化
[root@localhost ~]# mkswap /dev/sdb12
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=46dd8abf-a571-4f0f-a944-e291ba5884c8 
[root@localhost ~]# blkid /dev/sdb11
/dev/sdb11: UUID="EtDQg1-gDrE-317d-QY06-NEHJ-Sc7v-bc3fiQ" TYPE="LVM2_member" 

4、实现swap分区开机自动挂载

[root@localhost ~]# vim /etc/fstab
/dev/sdb12      swap    swap    defaults        0       0

5、启动所有交换分区

[root@localhost ~]# swapon -a
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         648          68          20         254         162
Swap:          4295           6        4289

6、swap分区(交换分区)作用

当物理内存不够时,会将swap分区当内存使用,此时系统性能会急速下降

五、du 查看文件在磁盘上的占用空间

1、du -h :

  • du -h /etc/fstab:

    -h, --human-readable
        为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。
  • du -sh:

    -s, --summarize
        对每个参数只显示总和。
  • du -ah:

    -a, --all
        显示对所有文件的统计,而不只是包含子目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值