谢烟客---------Linux之文件系统管理挂载

思路

只能挂载在根分区,根由谁来挂载?

mount命令详解

分区, 创建、调整、查看文件系统,挂载文件系统、显示挂载信息、验证挂载

写时复制和原处读写

同步IO和异步IO的区别

在创建文件系统之后,如果要使用此文件系统,应该将设备/分区关联至根设备的某个目录之下

根由内核管理,是一切的起始

根的由来

1)刚开机时,post加电自检

2)自检后,装载bootloader

3)bootloader装载用户 所选择的操作系统内核(系统启动装载的第一个程序)

CentOS 7 :/etc/grub2.cfg 中定义了
{
	load_video  ##加载显卡
	linux16 /boot/vmlinuz-3.10.0-514.26.2.el7.x86_64 root=UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1 rocrashkernel=auto rhgb quiet net.ifnames=0 LANG=en_US.UTF-8 ##加载的内核文件
		root=UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1    ## 装载内核时,需要指明根所在的分区
	initrd16 /boot/initramfs-3.10.0-514.26.2.el7.x86_64.img   ## 根文件系统的驱动
}
CentOS 6 :/boot/grub/grub.conf中定义了
title CentOS 6 (2.6.32-696.el6.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-696.el6.i686 ro root=/dev/mapper/myvg-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=myvg/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=myvg/lv_root rhgb quiet
	initrd /initramfs-2.6.32-696.el6.i686.img

根的位置:人为的通过grub配置文件,传递给内核,内核才能加载根

4)内核(通用目的的管理程序,不会完成特定目的的操作)初始化后,取得系统的控制权

/内核初始化后---> 装载根 --> 启动根文件系统上的Init程序(完成特定目的操作)

为了完成特定目的的操作,应该启动应用程序,存储在外部存储设备上的应用程序

1、装载某个磁盘分区,根文件系统所在的分区,满足FHS标准的分区

1)根分区:启动时用到的分区

2)启动后,通过根分区某个路径下的mount命令关联其他分区至根,保证任何文件都处于根下

3) 根必须提供启动所依赖的程序和库文件,且只能在根文件系统中(bin,sbin,lib,lib64)

2、启动用户空间的第一个程序(/sbin/init)

init程序代替内核,启动程序:

1、所有程序都是init的子进程,都是init仿照自己的样子捏出来的, init 程序fork自身而来

2、任何子进程也能有子进程

3、init的类型:

pstree查看:CentOS5:init, CentOS6: initstart, CentOS7: systemd

如何通过mount命令关联其他操作系统


挂载

1) 关联的目录非空时,挂载后,此目录中的文件暂时隐藏

2) 挂载后,内核会将挂载信息记录在/proc/mounts文件中

3)将两个非根文件系统关联需要一个中间层 或者 为了保证一切文件都属于根,则必须先将一个文件系统关联至根,然后才能将另一个文件系统关联至此文件系统,已经关联至根的文件系统.

卸载

1) 卸载一个被非根设备关联的文件系统时,应该先卸载关联的所有设备,才能解除与根的关联关系

2) 卸载时,如果将要被卸载的设备,正在被某个进程访问,是不能解除关联关系.(例如cd进程)


分区,创建、查看、调整文件系统 ,挂载,显示挂载情况,挂载鸡,配置开机自动挂载,卸载

  

挂载

mount命令

[[email protected] ~]# type mount 
mount is /bin/mount

[[email protected] ~]# man mount
       mount [OPTIONS...] device_partition MOUNT_POINT
  ##将设备关联至目录,目录作为设备的访问入口
  
DEVICE_PARTITION:
    1)设备文件, /dev/sda1
    2)全局唯一标示,-U UUID。推荐:UUID:设备文件名改变时,UUID唯一不变
    3) 卷标, -L LABEL
    4) 内核支持的伪文件系统,proc,sysfs,devtmpfs,configfs
    5) 目录,--bind DIR
MOUNT_POINT:
    DIR:建议为空目录,非空目录时,挂载后原目录中的文件暂时会隐藏
        临时挂载点:mnt,media

OPTIONS:
    -t vfstype   ##  指明挂载设备的文件系统类型
    -r readonly, ##  挂载后不能向挂载的分区中写入数据
    -w read and write,## 挂载后能向挂载的分区中写入数据
    -a auto,     ## 挂载所有定义在fstab文件中且设备挂载选项支持自动挂载的设备
    -v ,verbose  ## 显示挂载过程
    -n           ## 此次挂载不更新/etc/mtab文件。mount命令读取/etc/mtab文件。 挂载时,内核将信息记录于/proc/mounts文件中,然后同步至/etc/mtab文件中
    --bind       ## 将目录绑定至另一个目录,后面的目录作为前面的目录的访问入口 
    -L LABEL     ## 基于LABEL挂载
    -U UUID      ## 基于UUID挂载
    
    -o OPTIONS:
        async       ## 异步IO
        sync        ## 同步IO
        atime       ## 记录文件和访问时间
        noatime     ## 不记录文件的访问时间
        diratime    ## 目录的访问时间
        nodiratime  ## 不记录目录的访问时间
        auto        ## 自动挂载,默认。定义在fstab文件中,和此默认属性便能实现mount -a
        noauto      ## 不自动挂载
        exec/noexec ## 挂载的设备上的文件是否能运行为一个进程
        dev/nodev   ## 新挂载的设备上有设备文件,此设备文件能否作为设备的访问入口
        suid/nosuid ## 挂载的设备上的文件有suid权限时,能否运行为一个进程
        remount     ## 不卸载的情况下,完成重新挂载。用于不卸载修改挂载特性。
        ro/rw       ## 只读挂载,可写挂载
        user/nouser ## 是否允许普通用户挂载此已经挂载后的设备,默认普通用户不能挂载设备
        acl         ## 启用系统acl功能
            CentOS 5,6:默认不启用acl
            CentOS 7  : 默认启用acl
        default
            CentOS 默认挂载选项:
                rw, suid, dev, exec, auto, nouser, async, and relatime.

##将设备关联至目录,目录作为设备的访问入口

1、查看所有分区
[[email protected] ~]# fdisk -l /dev/sd[a-z]
2、修改分区
[[email protected] ~]# fdisk /dev/sdb
    1) 分区新分区
        Command (m for help): n
    2) 分配空间
         Last cylinder, +cylinders or +size{K,M,G} (1576-2610, default 2610): +100M
    3)查看分区
        Command (m for help): p
    4)保存并退出
        Command (m for help): w
        
3、查看内核识别的分区表
[[email protected] ~]# cat /proc/partitions
[[email protected] ~]# ls /dev/sdb*
4、让内核重读分区表
[[email protected] ~]# partx -a /dev/sdb
[[email protected] ~]# partx -a /dev/sdb
5、格式化、创建新的文件系统
[[email protected] ~]# mkfs.ext4 /dev/sdb8
    块大小=4096 (log=2)
    131122 blocks (5.00%) reserved for the super user
    Superblock backups stored on blocks
    
6、将设备/dev/sdb8关联至/mnt目录
[[email protected] ~]# mount /dev/sda3 /mnt

##查看挂载信息

##内核追踪到的已挂载的所有设备
[[email protected] ~]# cat /proc/mounts

##从/proc/mounts文件同步而来的数据 
[[email protected] ~]# cat /etc/mtab

##显示/etc/mtab中的挂载信息
[[email protected] ~]# mount
+++++++++++++++++++++++++++++++++
设备 挂载点 文件系统类型 访问权限(rw)

实现资源分割与管理
proc --> /proc
sysfs --> /sys
devpts --> /dev/pts
tmpfs --> /dev/shm
+++++++++++++++++++++++++++++++++

##挂载验证

##ext系列文件系统挂载后有lost+found目录
[[email protected] ~]# ls /mnt
lost+found

##解除关联关系

1、目录
[[email protected] ~]# umount /mnt
2、设备
[[email protected] ~]# umount /dev/sdb8

##卸载时,如果出现device busy时,有进程正在访问此设备

##查看正在访问指定文件系统的进程
	fuser -v MOUNT_POINT
	lsof -v MOUNT_POINT
		bash: bash内建命令在访问

##杀死正在访问此文件系统的进程
	fuser -km MOUNT_POINT (root)
##制造环境
[[email protected] mnt]# cd /mnt

##查看进程
[[email protected] mnt]# fuser -v /mnt
                     用户     进程号 权限   命令
/mnt:                root       2142 ..c.. bash

##终止进程
[[email protected] mnt]# fuser -km /mnt
/mnt:                 2142c

Connection closed by foreign host.

Disconnected from remote host(192.168.1.103:22) at 10:46:17.

Type `help‘ to learn how to use Xshell prompt.
[c:\~]$

使用选项注释

PARTITIONS:

1、-U UUID

1、获取UUID
[[email protected] ~]# blkid /dev/sda3
/dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" 

2、以UUID挂载: 
[[email protected] ~]# mount -U 8e02ad4b-818b-405e-96b1-2f8aedf9136b /mnt

3、验证挂载
[[email protected] ~]# ls /mnt
lost+found
[[email protected] ~]# mount
/dev/sda3 on /mnt type ext4 (rw)

2、-L LABEL

1、修改卷标为MYDATA
[[email protected] ~]# tune2fs -L ‘MYDATA‘ /dev/sda3
tune2fs 1.41.12 (17-May-2010)

2、查看LABEL
[[email protected] ~]# blkid /dev/sda3
/dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" LABEL="MYDATA" 

3、以LABEL挂载
[[email protected] ~]# mount -L ‘MYDATA‘ /mnt

4、验证挂载
[[email protected] ~]# ls /mnt
lost+found
[[email protected] ~]# mount
/dev/sda3 on /mnt type ext4 (rw)

3、伪文件系统挂载

1、查看伪文件系统
[[email protected] ~]# mount
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
sysfs on /sys type sysfs (rw)

2、查看伪文件系统生成的文件
[[email protected] ~]# ls /sys
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

3、卸载伪文件系统
[[email protected] ~]# umount sysfs
[[email protected] ~]# umount /sys

4、查看 
[[email protected] ~]# umount sysfs
[[email protected] ~]# ls /sys
[[email protected] ~]# echo $?
0

5、挂载伪文件系统
[[email protected] ~]# blkid sysfs  ##伪文件系统,不是文件系统
[[email protected] ~]# echo $?
2

[[email protected] ~]# mount -t sysfs sysfs /sys

6、查看
[[email protected] ~]# !ls
ls /sys
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

4、目录绑定

##将newdir作为olddir的访问入口
mount --bind olddir newdir

1、显示/mnt下的文件
[[email protected] ~]# ls /mnt
lost+found

2、显示/sys下的文件
[[email protected] ~]# ls /sys
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

3、绑定目录 
[[email protected] ~]# mount --bind /sys /mnt

4、显示Newdir
[[email protected] ~]# ls /mnt
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

5、查看挂载信息
[[email protected] ~]# mount
/sys on /mnt type none (rw,bind)

OPTIONS:

-r 只读挂载

1、测试挂载
[[email protected] ~]# mount /dev/sda3 /mnt
[[email protected] ~]# ls /mnt
lost+found

2、查看挂载信息
[[email protected] ~]# mount
/dev/sda3 on /mnt type ext4 (rw)    ##访问权限为读写

3、卸载后,重新挂载
[[email protected] ~]# umount /mnt
[[email protected] ~]# mount -r /dev/sda3 /mnt
[[email protected] ~]# mount
/dev/sda3 on /mnt type ext4 (ro)    ##访问权限为只读

挂载时,内核将信息记录于/proc/mounts文件中,然后同步至/etc/mtab文件中

-n 此次挂载不同步信息

##以上挂载,mount命令均能显示其挂载信息

##不同步信息挂载
[[email protected] ~]# mount -n /dev/sda3 /mnt
[[email protected] ~]# mount
/dev/mapper/myvg-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/myvg-lv_home on /home type ext4 (rw)
/dev/mapper/myvg-lv_usr on /usr type ext4 (rw)
/dev/mapper/myvg-lv_var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sysfs on /sys type sysfs (rw)

##查看内核记录在/proc/mounts文件中的信息。
[[email protected] ~]# cat /proc/mounts | fgrep dev/sda3
/dev/sda3 /mnt ext4 rw,relatime,barrier=1,data=ordered 0 0

-a   挂载所有定义在fstab文件中且设备挂载选项支持自动挂载的设备

-v  挂载信息

[[email protected] mnt]# mount -v -o remount,ro,defaults /mnt
/dev/sda3 on /mnt type ext4 (ro)
[[email protected] /]# umount /mnt
[[email protected] /]# mount -v /dev/sda3 /mnt
mount: you didn‘t specify a filesystem type for /dev/sda3
       I will try type ext4
/dev/sda3 on /mnt type ext4 (rw)

-o options:

defaults CentOS 默认挂载选项: rw, suid, dev, exec, auto, nouser, async, and relatime.

man mount中查看

[[email protected] ~]# mount -o defaults /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (rw)

********其他默认的属性信息不会显示********

ext4系列的文件系统,默认async,nodiratime

CentOS7,默认acl

sync 同步IO

[[email protected] ~]# mount -o sync /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (rw,sync)

nosuid  挂载的设备上的文件有suid权限时,不能运行为一个进程

[[email protected] ~]# !umount
umount /mnt
[[email protected] ~]# mount -o nosuid /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (rw,nosuid)

remount 重新挂载,不卸载的情况下,完成设备重新挂载,用于修改挂载属性

##方法一
[[email protected] ~]# mount -o remount,ro /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (ro)

##方法二
[[email protected] /]# mount -o remount,diratime,defaults /dev/sda3
[[email protected] /]# mount -o remount,diratime,defaults /mnt

nodev   挂载的文件系统上,有设备文件,不能使用

[[email protected] ~]# umount /mnt
[[email protected] ~]# mount -o nosuid,nodev /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (rw,nosuid,nodev)

noexec  挂载的文件系统上,有程序文件,不能运行为一个进程

[[email protected] ~]# mount -o remount,ro,noexec /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (ro,noexec)

noauto  挂载的文件系统,不支持通过 fstab文件自动挂载

[[email protected] ~]# mount -o remount,ro,noexec,noauto /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (ro,noexec)

默认属性,默认只显示rw,修改为Noauto也不会显示

user      挂载的设备能被普通用户挂载

[[email protected] ~]# mount -o remount,ro,noexec,noauto,user /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (ro,noexec,nosuid,nodev)

当调整为普通用户可挂载时,自动进行,调整为其内部的设备不可用。且用户可挂载此设备属性不会显示

[[email protected] ~]# mount -o remount,ro,noexec,noauto,user,dev /dev/sda3 /mnt
[[email protected] ~]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (ro,noexec,nosuid)

noatime 挂载的文件系统,不更新文件访问时间戳

atime: 每次访问文件时,更新磁盘中的文件的时间戳。写磁盘产生,IO产生

##测试默认属性

##默认挂载
[[email protected] ~]# mount /dev/sda3 /mnt
[[email protected] dir]# blkid /dev/sda3  ##文件系统类型为ext4
/dev/sda3: UUID="8e02ad4b-818b-405e-96b1-2f8aedf9136b" TYPE="ext4" LABEL="MYDATA" 

##测试访问
[[email protected] ~]# cd /mnt/dir
[[email protected] ~]# touch a
[[email protected] dir]# stat a
Access: 2017-08-09 05:42:49.662993539 +0800
Modify: 2017-08-09 05:42:49.662993539 +0800
Change: 2017-08-09 05:42:49.766999113 +0800

[[email protected] dir]# cat a
[[email protected] dir]# date
2017年 08月 09日 星期三 05:44:05 CST

#查看访问时间戳
[[email protected] dir]# stat a
Access: 2017-08-09 05:44:02.933994163 +0800  ##改变
Modify: 2017-08-09 05:42:49.662993539 +0800
Change: 2017-08-09 05:42:49.766999113 +0800

##关闭atime

#关闭
[[email protected] /]# mount -o defaults,remount,noatime /mnt
#查看属性
[[email protected] /]# mount | fgrep /mnt
/dev/sda3 on /mnt type ext4 (rw,noatime)
#访问文件系统下的文件
[[email protected] /]# cd /mnt/dir

访问前
[[email protected] dir]# stat a
Access: 2017-08-09 05:44:02.933994163 +0800
Modify: 2017-08-09 05:42:49.662993539 +0800
Change: 2017-08-09 05:42:49.766999113 +0800
[[email protected] dir]# date
2017年 08月 09日 星期三 06:09:22 CST

访问
[[email protected] dir]# cat a

访问后的时间
[[email protected] dir]# stat a
Access: 2017-08-09 05:44:02.933994163 +0800   ##没有变...
Modify: 2017-08-09 05:42:49.662993539 +0800

diratime/nodiratime 目录访问时间戳

ext默认不启用目录访问时间戳

##测试默认属性

[[email protected] dir]# cd ..
[[email protected] mnt]# stat dir
Access: 2017-08-09 05:43:50.596000162 +0800
Modify: 2017-08-09 05:42:49.790996746 +0800
Change: 2017-08-09 05:42:49.790996746 +0800
[[email protected] mnt]# cd dir 
[[email protected] dir]# cat a
[[email protected] dir]# cd ..
[[email protected] mnt]# !stat
stat dir
Access: 2017-08-09 05:43:50.596000162 +0800  ##不变
Modify: 2017-08-09 05:42:49.790996746 +0800
Change: 2017-08-09 05:42:49.790996746 +0800

##启用diratime

[[email protected] mnt]# mount -o remount,diratime,atime /mnt
[[email protected] mnt]# stat dir
  File: "dir"
  Size: 4096      	Blocks: 8          IO Block: 4096   目录
Device: 803h/2051d	Inode: 518145      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-08-09 05:43:50.596000162 +0800
Modify: 2017-08-09 05:42:49.790996746 +0800
Change: 2017-08-09 05:42:49.790996746 +0800
[[email protected] mnt]# cd dir
[[email protected] dir]# cd ..
[[email protected] mnt]# stat dir
  File: "dir"
  Size: 4096      	Blocks: 8          IO Block: 4096   目录
Device: 803h/2051d	Inode: 518145      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-08-09 05:43:50.596000162 +0800
Modify: 2017-08-09 05:42:49.790996746 +0800
Change: 2017-08-09 05:42:49.790996746 +0800

mount命令挂载特性总结:

auto和user,无论启用或关闭均不会显示

目录diratime默认不启用。文件atime默认启用

默认为async

写时复制和原地读写

shell程序 (特殊字符的转换,词法/语法分析) ---> 提交给内核 -->内核加载把程序从磁盘加载至内存,分配CPU时针周期,内存资源的分配-->轮到程序在CPU上运行时--> CPU加载指令--> 运行指令 -->指令运行需要数据时,从内存中读取数据

同步IO和异步IO的区别

程序运行完成了,就会将内存中的数据同步至磁盘.同步的方式有"同步IO" "异步IO"

时间: 2024-11-05 21:57:42

谢烟客---------Linux之文件系统管理挂载的相关文章

谢烟客---------Linux之文件系统管理创建与挂载

文件系统在哪实现? 内核 内核级文件系统的组成?模块.用户空间中的程序 哪些是内核级文件系统?除了分布式文件系统 模块的定义 中间层定义 文件如何按名存取 查找文件.创建文件.存储文件文件系统.格式化 swap,虚拟内存 日志型文件系统和非日志型文件系统工作原理 超级块 文件按名存取的实现 文件系统实现按名存取将分区后的存储空间划分为数据区和元数据区. 数据区:   存储大小相同的数据块    元数据区:有多个inode块,每个inode块中存储:filename,perm,owner,grou

Linux文件系统管理 挂载命令mount

概述 mount命令用来挂载Linux系统外的文件. Linux 中所有的存储设备都必须挂载之后才能使用,包括硬盘.U 盘和光盘(swap 分区是系统直接调用的,所以不需要挂载).不过,硬盘分区在安装时就已经挂载了,而且会在每次系统启动时自动挂载,所以不需要手工参与.但是在 Linux 系统中要想使用光盘和 U 盘,就需要通过一些挂载命令来实现. 挂载是指把硬盘分区(如分区 /dev/sdb1,其实指的是文件系统)和挂载点(已经建立的空目录)联系起来的过程.这里需要注意,挂载点必须是目录,而且原

Linux之文件系统管理

文件系统不仅包含着文件中的数据而且还有文件系统的结构,不同Linux发行版本之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录结构基本上都是一样的. Linux的文件结构是单个的树状结构,根目录是"/",其他目录都要位于根目录下.每个目录一般都存放 特定类型的文件,下表常见目录: /  根目录,只能包含目录,不能包含具体文件 /bin  存放可执行文件.很多命令就对应/bin目录下的某个程序,例如 ls.cp.mkdir./bin目录对 所有用户有效

linux高级文件系统管理概述:处理交换分区、设置文件系统配额、配置raid和逻辑卷

8月26号,学习了linux(CentOS6.8)文件系统管理,内容颇多,主要分为如下几个部分: 一.处理交换分区和文件及移动介质的使用 二.常见工具free,df,du,dd的使用 三.设置文件系统配额 四.配置raid 五.配置逻辑卷 六.btrfs文件系统 一.处理交换分区和文件及移动介质的使用 交换分区是系统RAM的补充 基本设置包括: 创建交换分区或者文件 使用mkswap写入特殊签名 在/etc/fstab文件中添加适当的条目 使用swapon -a 激活交换空间 1.挂载交换分区

linux高级文件系统管理——btrfs

前几天,关于高级文件系统方面也给大家分享过RAID和LVM,今天给大家分享的这款文件系统可能比这两者更先进,可以将其二者合二为一.第一,它可以使用磁盘或者分区大小不一样的设备组建RAID:第二,它可以做到像LVM一样,随时扩展以及缩减使用空间,LVM支持在线扩展,但不能支持在线缩减,btrfs同时支持在线扩展和在线缩减:并且支持一条命令直接创建出带RAID功能的LV.所以个人体验之后觉得相当不错,分享于大家. 一.btrfs文件系统定义 1.Btrfs (B-tree, Butter FS, B

谢烟客---------Linux之文件系统自动挂载和ext文件系统结构、硬/软链接

/etc/fstab文件的格式 GDT,超级块,Indode,校验码 inode表,inode组成,地址指针结构 创建文件:位图索引 查找文件:目录 硬链接,软链接 删除文件,复制文件,移动文件 开机后,首先挂载的是根,然后手动通过根中的mount命令,关联其他分区至根 自动挂载的实现 1)定义在/etc/fstab文件中 2)挂载的文件系统支持auto选项     /etc/fstab文件为何开机能自动挂载 系统初始化脚本会起用mount命令扫描/etc/fstab文件中的每一行 /etc/f

linux高级文件系统管理——RAID

作为大型企业,很多时候数据量相当庞大,由此以来对磁盘空间的要求比较高,更重要是的对数据的完整性的追求.所以单独的磁盘不仅空间使用满足不了,数据的完整性更是无从谈起,所以也就出现了专业的数据存储技术,而RAID是其中应用比较广泛,也是历史比较悠久的存数据储技术了.今天就给大家分享一下RAID的一些基本概念以及软件RAID的实现方法. 一.RAID的定义 RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亚大学伯克利分

linux高级文件系统管理——LVM

在企业里面,很多时候,我们也无法估量应用程序对磁盘空间的使用量,如果我们使用用传统的文件系统,磁盘分区一旦确定下来以后,就再也无法更改使用空间了,如果需要更改就必须让应用程序离线后,对原有分区的数据进行备份,然后再对磁盘进行重新分区格式,重新复制原来的数据放回新的磁盘分区上,由此带来的麻烦是不言而喻的,如果是可以离线的业务,到也好说,如果是不允许离线的业务,那就影响更大.所以一代全新的文件系统LVM的问世,打破了这一技术瓶颈.它允许用户使用容量不不统一的硬盘和分区组合在一起,构成一个逻辑空间,用

Linux 第15天: (08月29日) Linux高级文件系统管理

本章内容设定文件系统配额设定和管理软RAID设备配置逻辑卷设定LVM快照btrfs文件系统 配置配额系统综述在内核中执行以文件系统为单位启用对不同组或者用户的策略不同根据块或者节点进行限制执行软限制(soft limit)硬限制(hard limit)初始化分区挂载选项:usrquota.grpquota初始化数据库:quotacheck 为用户设定配额执行开启或者取消配额:quotaon.quotaoff直接编辑配额:edquota username在shell中直接编辑:setquota u