红帽系统管理一 15章节 访问linux文件系统

设备和文件系统

linux服务器上的文件时按文件系统层次结构(颠倒的树)访问的。该层次结构是由系统可用的存储设备(硬盘等)提供的文件系统所构成的。文件系统是一种对硬件磁盘数据进行组织和管理的软件。
对于新加的磁盘设备,在没有在设备上创建文件系统之前,系统对磁盘设备的低级别的访问是通过一种称为块设备的特殊类型的文件实现的。
块设备文件和其他设备文件一起存储在系统的/dev目录下。设备文件是由操作系统自动识别创建的,在红帽系统中,检测到的第一个SATA/SAS/SCSI等硬盘驱动器称为/dev/sda,第二个称为/dev/sdb,以此类推。
查看块设备

[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  /

在添加新硬盘后,在不重启服务器的情况下进行扫盘(让系统检测到新的硬盘)(需要先查看系统中有几个总线文件,查看/sys/class/scsi_host/下有几个host,此处有3个总线文件,故循环为0…2)可以看出,扫盘后,系统检测出新的大小为10g的硬盘。

[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]
sr0              11:0    1  4.3G  0 rom  
[root@localhost ~]# 
[root@localhost ~]# for i in {0..2};do echo "- - -" > /sys/class/scsi_host/host$i/scan;done
[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   10G  0 disk 
sr0              11:0    1  4.3G  0 rom  

分区

通常我们不会把整个磁盘设备设置成一个文件系统。存储设备通常被划分为更小的的区块,称为分区。
硬盘分区格式一共有两种:
一种是GUID(GPT)分区,GUID(GPT)最多支持128个主分区,没有扩展分区和逻辑盘,支持2.2T容量以上的硬盘分区
一种是MBR分区,最多四个主分区,逻辑分区可以为一个(逻辑分区内可以继续分区),支持2.2T容量以下的硬盘分区,一般常用MBR格式分区
使用fdisk工具对新硬盘进行分区管理。

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)......

创建文件系统

在新分区里创建文件系统
常见的文件系统
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倍。它是 Linux 的必需分区

NFS :NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源

iso9660 :光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统

fat :就是 Windows 下的 fat16 文件系统,在 Linux 中识别为 fat

创建文件系统

[root@localhost ~]# mkfs.ext4 /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
524288 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2147483648
64 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: 完成 

挂载

创建好文件系统的分区需要挂载到系统上的空目录下,才能被使用和访问。(挂上那棵颠倒的树上)

[root@localhost ~]# mount /dev/sdb1 /testmnt
[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   10G  0 disk 
└─sdb1            8:17   0    8G  0 part /testmnt
sr0              11:0    1  4.3G  0 rom  
取消挂载
[root@localhost ~]# umount /dev/sdb1

值得注意的是,使用mount挂载并不是永久的,系统重启后,这种挂载关系将会被丢弃。希望持久的保持这种挂载关系,需要将挂载关系写入/etc/fstab文件,支持设备名或者UUID进行关系绑定,但是生产中建议使用id,因为设备名称并不总是固定的。

[root@localhost ~]# cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Mon Nov 20 05:49:02 2023
#
# 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=0d32fc0b-9a91-4903-a638-c8130422ac90 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

LVM

一张图片详尽解释清楚卷组物理卷以及LV的关系图片来自。。
在这里插入图片描述
有关逻辑卷的创建删除扩容缩容特性等,官方书籍并未涉及,留带查阅其他资料

查找系统中的文件

locate 命令搜索预生成索引中的文件名或文件路径,并即时返回结果
find 命令通过爬取整个文件系统层次结构来实时的搜索文件

根据名称查找文件

locate基于数据库mlocate的信息返回查找结果,这意味,locate的查找并不一定是实时的,命令updatadb用于手动更新此数据库。

[root@localhost ~]# yum install -y mlocate
[root@localhost ~]# updatedb

选项:
-i 不区分大小写的进行搜索
-n 限制返回结果的数量
注意:用户使用locate搜索目标文件时必须要有目标文件所在目录的搜索权限。

find全局扫描硬盘进行实时搜索。
选项:
-name
-iname

根据所有权
-user
-group
-uid
-gid

根据权限
-perm

[root@localhost ~]# find /data -perm /644
/data
/data/mysql

根据大小
-size

[root@localhost ~]# find -size 1M #将显示小于1M的文件(对1M向上取整)
[root@localhost ~]# find -size +10G #查找大小超过10G的文件
[root@localhost ~]# find -size -10K #查找大小小于10K的文件

根据修改时间
-mmin

[root@localhost ~]# find / -mmin 10 #查找10分钟以前更改的所有文件
[root@localhost ~]# find / -mmin +10 #查找10以前修改过的所有文件
[root@localhost ~]# find / -mmin -10 #查找过去10分钟内修改的所有文件

根据文件类型搜索文件
-type d/l/b/links

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值