day020-Linux基础-磁盘管理

6次阅读
没有评论

2026年4月2日07:33:00

知识点回顾

定时任务
1.定时任务的方式
系统定时任务/etc/crontab
vim /etc/crontab
* * * * * root 执行的命令
cat /etc/crontab
用户定时任务crontab
crontab -e
ubt:crontab -e 首次需选择编辑器vim
* * * * * 执行的命令
查看用户定时任务
crontab -l
用户定时任务的配置文件
/var/log/cron/root
ubt:/var/log/cron/crontabs/root
----
第一颗星    #表示分钟 0-59
第二课星    #表示小时 0-23
第三颗星    #表示日 1-31
第四颗星    #表示月 1-12
第五颗星    #表示周 0-6 0或7表示星期天
------------
* 表示每
*/5 表示间隔
5 * 表示每小时的第五分钟
-   表示区间
,   时间的间隔

2.定时任务的注意事项
a.定时任务文件中不识别%需要转义或者写入脚本中
b.打包进入到相对路径
c.定向空减少不必要的输出
d.PATH自定义
e.多命令写入脚本
00.扩展:面试技巧
自我介绍
面试技巧:有思路有想法
不会的问题如何解答?
1.真不会 你会网络吗? 硬件 网络 系统 服务 编程 监控 数据库 没问题
没问题、配置过交换机 华为 Cisco 锐捷 vlan trunk,这个东西不是经常配置 看下文档没问题。
2.会忘了 面试官几年前做过这个,现在有些记不清楚 具体我要看一下 放心也没问题。
3.不该我们会 会编程吗? shell编程没问题,Python的能看懂一点,会用AI写一些Python脚本。
4.没有做过的?一定要给思路
你们公司业务是维护自己的呢,还是说客户的呢?
我们需要你去客户那边、你能接受吗?
01.扩展:赋值变量
备份脚本:
[root@oldboy scripts]# cat backup.sh 
#1.创建目录
mkdir -p /data/`date +%F`_`hostname`_`hostname -I`

#2.打包hosts passwd到创建好的目录
cd /etc
tar zcf /data/`date +%F`_`hostname`_`hostname -I|awk '{print $1}'`/all.tar.gz passwd hosts

#3.删除30天的文件
find /data -mtime +30|xargs rm -rf

#设置变量
[root@oldboy ~]# dir=/data/`date +%F`_`hostname`_`hostname -I`
[root@oldboy ~]# echo $dir
/data/2026-04-02_oldboy_10.0.0.200

#简化脚本
[root@oldboy scripts]# cat backup.sh 
#设置变量
dir=/data/`date +%F`_`hostname`_`hostname -I|awk '{print $1}'`

#1.创建目录
mkdir -p $dir

#2.打包hosts passwd到创建好的目录
cd /etc
tar zcf $dir/all.tar.gz passwd hosts

#3.删除30天的文件
find /data -mtime +30|xargs rm -rf

写入定时任务
[root@oldboy scripts]# crontab -l
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/tmp:/root/bin
* * * * * cd /etc && tar zcvf /opt/`date +\%F-\%H`_web.tar.gz hosts passwd
00 00 * * * sh /server/scripts/backup.sh

01.磁盘管理

1.磁盘分类
磁盘分类:
1.机械硬盘
2.固态硬盘
3.NVME接口
2.磁盘外观大小
磁盘外观大小:
2.5英寸
3.5英寸
3.磁盘接口
磁盘接口:
IDE
SCSI
PCI-E
SATA   # 个人、企业在用 速度慢 存储大
SAS    #企业标配 速度快 存储小
4.转速
转速:决定了磁盘读写速度
7200转、5400转/每分钟 存储大 10T 20T SATA接口
10k/每分钟  SAS接口  300G 600G 900G
15K/每分钟  SAS接口  300G 500G 900Gx12块
5.相关面试题
问硬件配置?你接触过物理机?

-------------------------------
用过?用过啥型号的?
联想、HP、DELL、...
-------------------------------
服务器配置?
面试官我们服务器的配置都不一样!
web 数据库 存储 代理 监控 CICD
有的是12核 32G 600Gx6快的配置
有的是32核51G 900Gx12块的配置
存储的 22核 16G 10Tx12块的配置

02.RAID

获得更大的容量  两块600G逻辑组合成一块 1.2T
获得更高的性能
获得更高的安全性
----------------
到企业中如何组RAID
百度一下你就知道 DELL730 RAID
面试题:RAID常用级别以及区别
RAID级别 需要几块盘 安全性冗余 容量 性能 使用场景
RAID 0 1块以上 不安全 磁盘总和 最快 要求速度、对安全没有要求(集群)
RAID 1 只能是2块 安全 磁盘的一半 要求稳定、对速度没有要求 系统 监控
RAID 5 至少3块 相对安全 n-1块的容量 中等 较稳定的业务场景
RAID 10 至少4块 安全 所有磁盘的一半 高并发场景(要求速度和安全)

day020-Linux基础-磁盘管理

03.磁盘分区fdisk

MBR格式只支持4个主分区
MBR格式3个主分区+1个扩展分区+n个逻辑分区

第一块磁盘:sda
第二块磁盘:sdb
第一块磁盘的第一个分区:sda1
第二块磁盘的第二个分区:sdb2
第三块磁盘的第一个逻辑分区:sdc5

#新磁盘使用步骤
插入磁盘            新房子
磁盘分区    按照需求  房子装修
格式化     必须做     清理房子
挂载使用    

磁盘分区命令:fdisk 磁盘 进入分区模式
--------------------------------------------------------
第一个步骤:插入一块1T的磁盘
右键虚拟机-设置-添加磁盘-1000G--》完成
--------------------------------------------------------
第二个步骤:重启系统生效    #注意 企业中物理机插入磁盘不需要重启 支持热插拔
[root@oldboy ~]# reboot
第三个步骤:分区
[root@oldboy ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The device contains 'xfs' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x753e77db.

Command (m for help): m     #显示菜单

Help:
  Generic
   d   delete a partition               #删除分区
   l   list known partition types       #查看分区类型
   n   add a new partition              #创建分区
   p   print the partition table        #查看分区表
   t   change a partition type          #改变分区类型
   v   verify the partition table

   m   print this menu                  #显示菜单

  Save & Exit
   w   write table to disk and exit     #保存并退出
   q   quit without saving changes      #退出不保存
---------------------------------------------------------
Command (m for help): n             #创建一个分区
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):                 #默认是主分区

Using default response p.
Partition number (1-4, default 1):  #默认编号1开始
First sector (2048-2097151999, default 2048):   #默认的开始扇区 直接回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151999, default 2097151999): +100G          #需要输入分区的大小+100G 100G的大小

Created a new partition 1 of type 'Linux' and of size 100 GiB.
----------------------------------------------------------------
Command (m for help): p     #输出分区表
Disk /dev/sdb: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x753e77db

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdb1        2048 209717247 209715200  100G 83 Linux
---------------------------------------------------
继续分区:
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (2-4, default 2): 
First sector (209717248-2097151999, default 209717248): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (209717248-2097151999, default 2097151999): +100G

Created a new partition 2 of type 'Linux' and of size 100 GiB.
----
Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (3,4, default 3): 
First sector (419432448-2097151999, default 419432448): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (419432448-2097151999, default 2097151999): +100G

Created a new partition 3 of type 'Linux' and of size 100 GiB.
---------------------

#划分扩展分区
Command (m for help): n
Partition type
   p   primary (3 primary, 0 extended, 1 free)
   e   extended (container for logical partitions)
Select (default e): 

Using default response e.
Selected partition 4
First sector (629147648-2097151999, default 629147648): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (629147648-2097151999, default 2097151999): 

Created a new partition 4 of type 'Extended' and of size 700 GiB.
----------
#划分逻辑分区
Command (m for help): n
All primary partitions are in use.
Adding logical partition 5
First sector (629149696-2097151999, default 629149696): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (629149696-2097151999, default 2097151999): +200G

Created a new partition 5 of type 'Linux' and of size 200 GiB.
-----
Command (m for help): p
Disk /dev/sdb: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x753e77db

Device     Boot     Start        End    Sectors  Size Id Type
/dev/sdb1            2048  209717247  209715200  100G 83 Linux
/dev/sdb2       209717248  419432447  209715200  100G 83 Linux
/dev/sdb3       419432448  629147647  209715200  100G 83 Linux
/dev/sdb4       629147648 2097151999 1468004352  700G  5 Extended
/dev/sdb5       629149696 1048580095  419430400  200G 83 Linux
-------------------------
Command (m for help): n
All primary partitions are in use.
Adding logical partition 6
First sector (1048582144-2097151999, default 1048582144): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1048582144-2097151999, default 2097151999): 

Created a new partition 6 of type 'Linux' and of size 500 GiB.
#查看分区表
Command (m for help): p
Disk /dev/sdb: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x753e77db

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sdb1             2048  209717247  209715200  100G 83 Linux
/dev/sdb2        209717248  419432447  209715200  100G 83 Linux
/dev/sdb3        419432448  629147647  209715200  100G 83 Linux
/dev/sdb4        629147648 2097151999 1468004352  700G  5 Extended
/dev/sdb5        629149696 1048580095  419430400  200G 83 Linux
/dev/sdb6       1048582144 2097151999 1048569856  500G 83 Linux
#保存退出
Command (m for help): w

第四个步骤:格式化
[root@oldboy ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6553600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=26214400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=12800, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

第五个步骤:挂载使用
#注意入口文件可以是空的目录、可以自己创建
#如果不小心用了有文件的目录,不影响目录的文件,源目录的文件会被暂时隐藏
[root@oldboy ~]# mount /dev/sdb1 /mnt
[root@oldboy ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        963M     0  963M   0% /dev
tmpfs           979M     0  979M   0% /dev/shm
tmpfs           979M  8.9M  970M   1% /run
tmpfs           979M     0  979M   0% /sys/fs/cgroup
/dev/sda3        48G   16G   33G  33% /
tmpfs           979M  4.8M  974M   1% /tmp
/dev/sda1       195M  139M   56M  72% /boot
tmpfs           196M     0  196M   0% /run/user/2004
/dev/sdb1       100G  746M  100G   1% /mnt

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

[root@oldboy ~]# mkdir /data1
[root@oldboy ~]# mount /dev/sdb2 /data1
[root@oldboy ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        963M     0  963M   0% /dev
tmpfs           979M     0  979M   0% /dev/shm
tmpfs           979M  8.9M  970M   1% /run
tmpfs           979M     0  979M   0% /sys/fs/cgroup
/dev/sda3        48G   16G   33G  33% /
tmpfs           979M  4.8M  974M   1% /tmp
/dev/sda1       195M  139M   56M  72% /boot
tmpfs           196M     0  196M   0% /run/user/2004
/dev/sdb1       100G  746M  100G   1% /mnt
/dev/sdb2       100G  746M  100G   1% /data1

第六个步骤:开机自动挂载
方法1.写入/etc/rc.local
vim /etc/rc.local
mount /dev/sdb1 /mnt

方法2.写入/etc/fstab 推荐使用
UUID=4184962b-2e8f-4e7c-8c23-714ae959946a /        xfs     defaults        0 0

#将sdb1分区设置为开机自动挂载到/mnt目录
[root@oldboy ~]# tail -1 /etc/fstab 
/dev/sdb1 /mnt/ xfs defaults 0 0

#第一列:表示设备的唯一ID号身份证号 这个地方可以直接写设备的名称
#第二列:挂载点
#第三列:文件系统各类型 xfs
#第四列:挂载参数 使用默认
#第五列:开机是否进程备份dump
#第七列:开机是否自检 fsck


#卸载磁盘umount  一定要出门在卸载
[root@oldboy ~]# umount /mnt 

[root@oldboy mnt]# umount /mnt 
umount: /mnt: target is busy.   #目标忙着呢,现在门里面的呢,切换到其他路径在卸载

04.企业磁盘挂载

为什么要进行磁盘挂载?因为扩容磁盘,原来磁盘不够用
1.插入磁盘
2.格式化
[root@oldboy ~]# mkfs.xfs -f /dev/sdb   #-f强制格式化
meta-data=/dev/sdb               isize=512    agcount=4, agsize=65536000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=262144000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=128000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3.挂载使用
[root@oldboy ~]# mount /dev/sdb /data1
[root@oldboy ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        963M     0  963M   0% /dev
tmpfs           979M     0  979M   0% /dev/shm
tmpfs           979M  8.9M  970M   1% /run
tmpfs           979M     0  979M   0% /sys/fs/cgroup
/dev/sda3        48G   16G   33G  33% /
tmpfs           979M  4.8M  974M   1% /tmp
/dev/sda1       195M  139M   56M  72% /boot
tmpfs           196M     0  196M   0% /run/user/2004
/dev/sdb       1000G  7.1G  993G   1% /data1
4.开机自动挂载
vim /etc/fstab
...
/dev/sdb /data1 xfs defaults 0 0

#通知内核
[root@oldboy ~]# partprobe 

05.parted分区

面试题:
小于2T的磁盘使用fdisk分区  MBR
大于2T的磁盘使用parted分区 GPT
--------------
第一步:插入6T的磁盘
右键虚拟机-设置-添加磁盘-6000G--》完成

第二步:重启
reboot

第三步:分区
[root@oldboy ~]# parted /dev/sdb
GNU Parted 3.3
使用 /dev/sdb
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) help                                                             
  help [COMMAND]                           打印通用求助信息,或 COMMAND 的帮助
  mklabel,mktable LABEL-TYPE               创建新的磁盘卷标 (分区表)
  mkpart 分区类型 [文件系统类型] 起始点 结束点 创建一个分区
  name 编号 名称                           将指定“编号”的分区命名为“名称”
  print [devices|free|list,all|数字]        显示分区表、可用设备、剩余空间、所有分区或特殊分区
  quit                                     退出程
  rm NUMBER                                删除编号为 NUMBER 的分区
----------
(parted) mklabel    #修改分区类型                                                          
新的磁盘卷标类型? gpt   #gpt格式

(parted) print                                                            
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
----------------------------
(parted) mkpart             #分区                                         
分区名称?  []? primary                                                   
文件系统类型?  [ext2]? xfs                                               
起始点? 0
结束点? 500G                                                             
警告: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
忽略/Ignore/放弃/Cancel? I  

(parted) print                                                            
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小   文件系统  名称     标志
 1    17.4kB  500GB   500GB  xfs       primary
 --------------------
 (parted) mkpart                                                           
分区名称?  []? primary                                                   
文件系统类型?  [ext2]? xfs                                               
起始点? 500G                                                             
结束点? 1000G                                                            
(parted) print                                                            
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小   文件系统  名称     标志
 1    17.4kB  500GB   500GB  xfs       primary
 2    500GB   1000GB  500GB  xfs       primary

#非交互式的创建分区
(parted) mkpart primary xfs 1000G 1500G                                   
(parted) print                                                            
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小   文件系统  名称     标志
 1    17.4kB  500GB   500GB  xfs       primary
 2    500GB   1000GB  500GB  xfs       primary
 3    1000GB  1500GB  500GB  xfs       primary

 #删除分区3
 (parted) rm 3                                                             
(parted) print                                                            
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小   文件系统  名称     标志
 1    17.4kB  500GB   500GB  xfs       primary
 2    500GB   1000GB  500GB  xfs       primary

 #退出
 (parted) quit
信息: 你可能需要 /etc/fstab。

#挂载使用
[root@oldboy ~]# mkfs.xfs /dev/sdb1 #格式化

[root@oldboy ~]# mkdir /data
[root@oldboy ~]# mount /dev/sdb1 /data
[root@oldboy ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        451M     0  451M    0% /dev
tmpfs           467M     0  467M    0% /dev/shm
tmpfs           467M  6.7M  460M    2% /run
tmpfs           467M     0  467M    0% /sys/fs/cgroup
/dev/sda3        48G   16G   33G   33% /
tmpfs           467M  4.8M  462M    2% /tmp
/dev/sda1       195M  139M   56M   72% /boot
tmpfs            94M     0   94M    0% /run/user/2004
/dev/sdb1       466G  3.3G  463G    1% /data

#最后写入 /etc/fstab

#可以在命令行直接分区
[root@oldboy ~]# parted /dev/sdb mkpart primary xfs 500G 1000G
信息: 你可能需要 /etc/fstab。
[root@oldboy ~]# parted /dev/sdb print                                    
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:2147GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小   文件系统  名称     标志
 1    17.4kB  500GB   500GB  xfs       primary
 2    500GB   1000GB  500GB            primary


#企业中使用
1.插入磁盘
2.格式化磁盘
[root@oldboy ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=131072000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=524288000, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=256000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
3.挂载使用
[root@oldboy ~]# mount /dev/sdb /data
4.fstab
vim /etc/fstab
..
/dev/sdb /data xfs defaults 0 0
重点:
1.磁盘种类了解 外观 接口 转速
2.RAID重点 面试笔试题
3.磁盘分区 练习 做好笔记
4.面试题 磁盘分区你用的什么命令
fdisk小于2T的磁盘
prated大于2T的磁盘进行分区

Linux 磁盘分区
├── 设备命名 (sdX, nvmeXnY, vdX)
├── 分区表 (MBR/GPT)
├── 分区工具 (fdisk, gdisk, parted)
├── 文件系统 (ext4, XFS, Btrfs, swap)
├── 挂载 (mount, /etc/fstab, UUID)
├── 推荐布局 (/boot, /, /home, swap)
├── 高级管理 (LVM: PV-VG-LV)
└── 维护 (fsck, xfs_repair, blkid, lsblk)
正文完
 0
评论(没有评论)