zoukankan      html  css  js  c++  java
  • 磁盘分区及格式化 、 扩展Swap空间 、 文件系统管理

     参考:

    https://blog.csdn.net/u010148669/article/details/99677448   添加磁盘然后创建主分区、扩展分区、逻辑分区

    https://www.cnblogs.com/matengfei123/p/7986259.html    Linux中VMware虚拟机增加磁盘空间的扩容操作

    https://www.cnblogs.com/Alice-Pu/p/5461968.html  扩容linux虚拟机的根目录空间

     https://www.xp.cn/b.php/8996.html  Blocks是什么意思

     https://www.cnblogs.com/huapox/p/3299947.html   查看Linux磁盘空间大小命令

    1. 创建磁盘分区
    2. 创建文件系统
    3. 分区扩展Swap空间
    4. 文件扩展Swap空间
    5. 标识分区
    6. 挂载设备
    7. 开机自动挂载
    8. autofs触发挂载

    1 创建磁盘分区

    1.1 问题

    1. 使用parted工具修改硬盘分区
    2. 基于现有的空闲空间,新建2个1GB的分区
    3. 练习parted的交互式/非交互式用法
    4. 识别新的分区表
    5. 使用partx或partprobe工具
    6. 或者reboot

    1.2 方案

    分区方式有两种分别是MBR、GPT,分区工具也有两种命令fdisk、parted。

    Parted命令支持GPT分区方式,而fdisk不支持。parted支持18EB超大空间,而fdisk只支持2.2TB。所以我们重点掌握parted,此外parted命令还支持非交互式操作也支持Tab键补全。

    1.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:使用parted工具修改硬盘分区

    基于现有的空闲空间,新建2个1GB的分区,命令操作如下所示:

     
    1. [root@localhost ~]# ls /dev/sda //查看本地是否识别sda设备
    2. /dev/sda
    3. [root@localhost ~]# parted /dev/sda //进行交互式分区
    4. GNU Parted 2.1
    5. 使用 /dev/sda
    6. Welcome to GNU Parted! Type 'help' to view a list of commands.
    7. (parted) print //输出分区表
    8. Model: VMware, VMware Virtual S (scsi)
    9. Disk /dev/sda: 322GB
    10. Sector size (logical/physical): 512B/512B
    11. Partition Table: msdos //分区方式为MBR
    12. Number Start End Size Type File system 标志
    13. 1 1049kB 211MB 210MB primary ext4 启动
    14. 2 211MB 105GB 105GB primary ext4
    15. 3 105GB 210GB 105GB primary ext4
    16. 4 210GB 322GB 112GB extended
    17. 5 210GB 219GB 8590MB logical linux-swap(v1)
    18. (parted) mkpart //输入mkpart进行分区,可以按Tab补全
    19. 分区类型? logical/逻辑分区? logical //输入建立分区类型为逻辑分区
    20. 文件系统类型? [ext2]? ext4 //指定文件系统类型为ext4
    21. 起始点? 219G //起始点需看一下该硬盘最后一个分区结束位置
    22. 结束点? 220G //大小为1G所以到220结束
    23. 警告: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙). As a result, it may not reflect all of your changes until after reboot.
    24. (parted) print //输出分区表
    25. Model: VMware, VMware Virtual S (scsi)
    26. Disk /dev/sda: 322GB
    27. Sector size (logical/physical): 512B/512B
    28. Partition Table: msdos
    29. Number Start End Size Type File system 标志
    30. 1 1049kB 211MB 210MB primary ext4 启动
    31. 2 211MB 105GB 105GB primary ext4
    32. 3 105GB 210GB 105GB primary ext4
    33. 4 210GB 322GB 112GB extended
    34. 5 210GB 219GB 8590MB logical linux-swap(v1)
    35. 6 219GB 220GB 1481MB logical
    36. (parted) quit //退出
    37. [root@localhost ~]# parted /dev/sda print //采用非交互式查看分区表信息
    38. Model: VMware, VMware Virtual S (scsi)
    39. Disk /dev/sda: 322GB
    40. Sector size (logical/physical): 512B/512B
    41. Partition Table: msdos
    42. Number Start End Size Type File system 标志
    43. 1 1049kB 211MB 210MB primary ext4 启动
    44. 2 211MB 105GB 105GB primary ext4
    45. 3 105GB 210GB 105GB primary ext4
    46. 4 210GB 322GB 112GB extended
    47. 5 210GB 219GB 8590MB logical linux-swap(v1)
    48. 6 219GB 220GB 1481MB logical
    49. [root@localhost ~]# parted /dev/sda mkpart logical ext4 220G 221G //非交互式分区
    50. 警告: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙). As a result, it may not reflect all of your changes until after reboot.
    51. [root@localhost ~]# parted /dev/sda print
    52. Model: VMware, VMware Virtual S (scsi)
    53. Disk /dev/sda: 322GB
    54. Sector size (logical/physical): 512B/512B
    55. Partition Table: msdos
    56. Number Start End Size Type File system 标志
    57. 1 1049kB 211MB 210MB primary ext4 启动
    58. 2 211MB 105GB 105GB primary ext4
    59. 3 105GB 210GB 105GB primary ext4
    60. 4 210GB 322GB 112GB extended
    61. 5 210GB 219GB 8590MB logical linux-swap(v1)
    62. 6 219GB 220GB 1481MB logical
    63. 7 220GB 221GB 999MB logical

    步骤二:识别新的分区表

    分析: 一般情况下在系统正在运行的时候,划分出新的分区,系统是不会立即自动识别的。这个时候要想识别新的分区,需要刷新一下。而刷新的命令有两个,在RHEL 6.x系统中,推荐大家使用partx命令刷新,而RHEL 5.x版本则建议大家使用partprobe。

    命令操作如下所示:

    1. [root@localhost ~]# ls /dev/sda[6-7]     //查看是否识别新的分区
    2. ls: 无法访问/dev/sda[6-7]: 没有那个文件或目录
    3. [root@localhost ~]# partx -a /dev/sda //-a是刷新所有分区意思,/dev/sda为操作对象
    4. BLKPG: Device or resource busy
    5. error adding partition 1
    6. BLKPG: Device or resource busy
    7. error adding partition 2
    8. BLKPG: Device or resource busy     //这里报错为正常
    9. error adding partition 3
    10. BLKPG: Device or resource busy
    11. error adding partition 4
    12. BLKPG: Device or resource busy
    13. error adding partition 5
    14. [root@localhost ~]# ls /dev/sda[6-7]     //查看是否识别新的分区
    15. /dev/sda6 /dev/sda7
    16. [root@localhost ~]#

    2 创建文件系统

    2.1 问题

    1. 将/dev/sda6格式化成ext4格式
    2. 将/dev/sda6设备挂载到 /mypart6,验证读写
    3. 将/dev/sda7格式化成vfat格式
    4. 将/dev/sda7设备挂载到 /mypart7,验证读写

    2.2 方案

    在Linux中使用一个分区空间,需要进行三步:分区、格式化、挂载使用。

    格式化的过程其实就是创建文件系统的过程,所用到的命令为mkfs。

    默认RHEL6系统所支持的文件系统常用的有ext4、vfat。

    挂载命令为mount,需注意的是挂载需要有设备、挂载点两部分组成。挂载点在Linux中利用的是目录,不要忘记创建挂载目录。

    2.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:将/dev/sda6格式化成ext4格式

    命令操作如下所示:

    1. [root@localhost ~]# ls /dev/sda6         //检查系统是否识别该分区
    2. /dev/sda6
    3. [root@localhost ~]# mkfs.ext4 /dev/sda6
    4. ……
    5. [root@localhost ~]# parted /dev/sda p
    6. Model: VMware, VMware Virtual S (scsi)
    7. Disk /dev/sda: 322GB
    8. Sector size (logical/physical): 512B/512B
    9. Partition Table: msdos
    10. Number Start End Size Type File system 标志
    11. 1 1049kB 211MB 210MB primary ext4 启动
    12. 2 211MB 105GB 105GB primary ext4
    13. 3 105GB 210GB 105GB primary ext4
    14. 4 210GB 322GB 112GB extended
    15. 5 210GB 219GB 8590MB logical linux-swap(v1)
    16. 6 219GB 220GB 1481MB logical ext4
    17. 7 220GB 221GB 999MB logical

    将/dev/sda6设备挂载到 /mypart6,验证读写:

    1. [root@localhost ~]# mkdir /mypart6         //创建挂载点目录
    2. [root@localhost ~]# mount /dev/sda6 /mypart6/         //将设备挂载在到挂载点
    3. [root@localhost ~]# mount | grep sda6         //查看挂载情况
    4. /dev/sda6 on /mypart6 type ext4 (rw)
    5. [root@localhost ~]# touch /mypart6/1.txt         //验证读写
    6. [root@localhost ~]# ls /mypart6/
    7. 1.txt lost+found
    8. [root@localhost ~]#

    步骤二:将/dev/sda7格式化成vfat格式

    命令操作如下所示:

    1. [root@localhost ~]# ls /dev/sda7             //检查系统是否识别该分区
    2. /dev/sda7
    3. [root@localhost ~]# mkfs.vfat /dev/sda7
    4. mkfs.vfat 3.0.9 (31 Jan 2010)
    5. [root@localhost ~]#

    将/dev/sda7设备挂载到 /mypart7,验证读写:

    1. [root@localhost ~]# mkdir /mypart7     //创建挂载点目录
    2. [root@localhost ~]# mount /dev/sda7 /mypart7     //将设备挂载在到挂载点
    3. [root@localhost ~]# mount | grep sda7     //查看挂载情况
    4. /dev/sda7 on /mypart7 type vfat (rw)
    5. [root@localhost ~]# touch /mypart7/1.txt         //验证读写
    6. [root@localhost ~]# ls /mypart7
    7. 1.txt

    3 分区扩展Swap空间

    3.1 问题

    1. 从磁盘sda上划分一个2G的分区sda8
    2. 将/dev/sda8格式化为Swap文件系统
    3. 启用/dev/sda8分区,查看Swap空间大小
    4. 停用/dev/sda8分区,查看Swap空间大小

    3.2 方案

    首先要明白Swap分区空间是来源于硬盘,而要想扩充Swap空间的大小,思路很简单就是把硬盘的分区格式成Swap文件系统,再扩充到Swap空间中区。

    对于Swap分区有它独立的格式化命令和扩充命令,这里要和普通分区的格式化命令和挂载命令区分开。此外它还有独立查看Swap空间组成的命令。

    3.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:从磁盘sda上划分一个2G的分区sda8

    命令操作如下所示:

    1. [root@localhost ~]# parted /dev/sda p //查看分区表信息,主要是查看最后一个分区结束点
    2. Model: VMware, VMware Virtual S (scsi)
    3. Disk /dev/sda: 322GB
    4. Sector size (logical/physical): 512B/512B
    5. Partition Table: msdos
    6. Number Start End Size Type File system 标志
    7. 1 1049kB 211MB 210MB primary ext4 启动
    8. 2 211MB 105GB 105GB primary ext4
    9. 3 105GB 210GB 105GB primary ext4
    10. 4 210GB 322GB 112GB extended
    11. 5 210GB 219GB 8590MB logical linux-swap(v1)
    12. 6 219GB 220GB 1481MB logical ext4
    13. 7 220GB 221GB 999MB logical
    14. [root@localhost ~]# parted /dev/sda mkpart logical ext4 221G 223G
    15. 警告: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙). As a
    16. result, it may not reflect all of your changes until after reboot.
    17. [root@localhost ~]# parted /dev/sda p
    18. Model: VMware, VMware Virtual S (scsi)
    19. Disk /dev/sda: 322GB
    20. Sector size (logical/physical): 512B/512B
    21. Partition Table: msdos
    22. Number Start End Size Type File system 标志
    23. 1 1049kB 211MB 210MB primary ext4 启动
    24. 2 211MB 105GB 105GB primary ext4
    25. 3 105GB 210GB 105GB primary ext4
    26. 4 210GB 322GB 112GB extended
    27. 5 210GB 219GB 8590MB logical linux-swap(v1)
    28. 6 219GB 220GB 1481MB logical ext4
    29. 7 220GB 221GB 999MB logical fat32
    30. 8 221GB 223GB 1999MB logical
    31. [root@localhost ~]#

    步骤二:将/dev/sda8格式化为swap文件系统

    命令操作如下所示:

    1. [root@localhost ~]# ls /dev/sda8 //检查系统是否识别该分区
    2. ls: 无法访问/dev/sda8: 没有那个文件或目录
    3. [root@localhost ~]# partx -a /dev/sda //刷新分区表
    4. BLKPG: Device or resource busy
    5. error adding partition 1
    6. BLKPG: Device or resource busy
    7. error adding partition 2
    8. BLKPG: Device or resource busy
    9. error adding partition 3
    10. BLKPG: Device or resource busy
    11. error adding partition 4
    12. BLKPG: Device or resource busy
    13. error adding partition 5
    14. BLKPG: Device or resource busy
    15. error adding partition 6
    16. BLKPG: Device or resource busy
    17. error adding partition 7
    18. [root@localhost ~]# ls /dev/sda8
    19. /dev/sda8
    20. [root@localhost ~]# mkswap /dev/sda8 //格式化为swap文件系统
    21. Setting up swapspace version 1, size = 1951740 KiB
    22. no label, UUID=848ca15c-a03e-4e0b-9ac0-bfd6507d0b7e

    步骤三:启用/dev/sda8分区,查看swap空间大小

    命令操作如下所示:

    1. [root@localhost ~]# swapon –s //未启用之前,查看swap空间组成成员
    2. Filename Type Size Used Priority
    3. /dev/sda5 partition 8388600 0 -1
    4. [root@localhost ~]# swapon /dev/sda8 //启用/dev/sda8交换分区
    5. [root@localhost ~]# swapon –s //启用之后,查看swap空间组成成员
    6. Filename Type Size Used Priority
    7. /dev/sda5 partition 8388600 0 -1
    8. /dev/sda8 partition 1951736 0 -2
    9. [root@localhost ~]#

    步骤四:停用/dev/sda8分区,查看swap空间大小

    命令操作如下所示:

    1. [root@localhost ~]# swapoff /dev/sda8 //停用/dev/sda8交换分区
    2. [root@localhost ~]# swapon -s
    3. Filename Type Size Used Priority
    4. /dev/sda5 partition 8388600 0 -1
    5. [root@localhost ~]#

    4 文件扩展Swap空间

    4.1 问题

    1. 使用dd命令创建一个大小为2048MB的交换文件,放在/opt/swap.db
    2. 将swap.db文件格式化成Swap文件系统
    3. 启用swap.db文件,查看Swap空间大小
    4. 停用swap.db文件,查看Swap空间大小

    4.2 方案

    Swap空间来源于硬盘空间,这个思路不变。我们可以换种方式,来扩展Swap空间。就是可以创建一个大的文件,文件占用的是磁盘空间,再将这个文件格式化使用。这个方式是可行的,但难点在于文件怎么生成呢?我们可以用dd这条命令。

    例如 dd if=/dev/zero of=/opt/swap.db bs=1M count=2048 ,相关说明如下:

    • dd:为命令字。
    • if:读取数据的来源是哪,而/dev/zero是一个特殊的设备它可以产生无限的数据,常用来与dd命令搭配使用。
    • of:将数据写入到哪里去,可以是其他设备,也可以是指定路径下的一个文件名。
    • bs:每次读取和写入数据的大小为1M。
    • count:为读取和写入的次数为2048次。

    4.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:使用dd命令创建一个大小为2048MB的交换文件,放在/opt/swap.db

    命令操作如下所示:

    1. [root@localhost ~]# dd if=/dev/zero of=/opt/swap.db bs=1M count=2048
    2. 记录了2048+0 的读入
    3. 记录了2048+0 的写出
    4. 2147483648字节(2.1 GB)已复制,95.5419 秒,22.5 MB/秒
    5. [root@localhost ~]# ls -lh /opt/swap.db
    6. -rw-r--r--. 1 root root 2.0G 2月 27 21:24 /opt/swap.db

    步骤二:将swap.db文件格式化成Swap文件系统

    命令操作如下所示:

    1. [root@localhost ~]# mkswap /opt/swap.db     //将文件格式化为Swap文件系统
    2. mkswap: /opt/swap.db: warning: don't erase bootbits sectors
    3. on whole disk. Use -f to force.
    4. Setting up swapspace version 1, size = 2097148 KiB
    5. no label, UUID=4dc743fd-86a6-477b-a3fc-a811f41dbd43
    6. [root@localhost ~]#

    步骤三:启用swap.db文件,查看Swap空间大小

    命令操作如下所示:

    1. [root@localhost ~]# swapon /opt/swap.db //启用swap.db文件
    2. [root@localhost ~]# swapon -s
    3. Filename Type Size Used Priority
    4. /dev/sda5 partition 8388600 0 -1
    5. /opt/swap.db file 2097144 0 -2
    6. [root@localhost ~]#

    步骤四:停用swap.db文件,查看Swap空间大小

    命令操作如下所示:

    1. [root@localhost ~]# swapoff /opt/swap.db //停用swap.db文件
    2. [root@localhost ~]# swapon -s
    3. Filename Type Size Used Priority
    4. /dev/sda5 partition 8388600 0 -1
    5. [root@localhost ~]#

    5 标识分区

    5.1 问题

    1. 添加一块80GB的新硬盘 /dev/sdb
    2. 建立MBR分区表,划分一个1GB的主分区
    3. 将此分区格式化为ext4文件系统
    4. 设置/识别分区属性,为分区/dev/sdb1设置卷标 disk2part1
    5. 删除刚设置的卷标
    6. 查看此分区的UUID标识信息
    7. 检查此分区是否支持ACL、有多少个i节点

    5.2 方案

    卷标起到标识作用,挂载时可以利用卷标挂载。这样避免出错和重复。

    UUID在格式化时产生,是一个唯一标识。

    利用tune2fs命令可以查看分区详细属性。

    5.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:添加一块80GB的新硬盘 /dev/sdb

    命令操作如下所示:

    1. [root@localhost ~]# ls /dev/sdb //添加第二块硬盘并识别
    2. /dev/sdb

    步骤二:建立MBR分区表,划分一个1GB的主分区

    命令操作如下所示:

    1. [root@localhost ~]# parted /dev/sdb //为了降低难度,采用交互方式建立分区表
    2. GNU Parted 2.1
    3. 使用 /dev/sdb
    4. Welcome to GNU Parted! Type 'help' to view a list of commands.
    5. (parted)         //可以连续两次Tab键,查看可以执行命令有哪些
    6. align-check mkfs mktable quit select version
    7. check mklabel move rescue set 检查
    8. cp mkpart name resize toggle
    9. help mkpartfs print rm unit
    10. (parted) mktable         //建立分区表
    11. 新的磁盘标签类型?         //可以连续两次Tab键,查看都支持哪种类型的分区表
    12. aix amiga bsd dvh gpt loop mac msdos pc98 sun
    13. 新的磁盘标签类型? msdos         //选择msdos分区方式也就是MBR
    14. (parted) print         //输出分区表信息
    15. Model: VMware, VMware Virtual S (scsi)
    16. Disk /dev/sdb: 85.9GB
    17. Sector size (logical/physical): 512B/512B
    18. Partition Table: msdos         //查看结果
    19. Number Start End Size Type File system 标志
    20. (parted) mkpart             //输入分区命令
    21. 分区类型? primary/主分区/extended/扩展分区? primary //选择分区类型,可以使用Tab
    22. 文件系统类型? [ext2]? ext4 //选择文件系统类型
    23. 起始点? 0                 //选择开始点,因是新硬盘所以0即可
    24. 结束点? 1G                 //大小为1G
    25. 警告: The resulting partition is not properly aligned for best performance.
    26. 忽略/Ignore/放弃/Cancel? Ignore         //警告忽略即可
    27. (parted) print                     //输出分区表信息
    28. Model: VMware, VMware Virtual S (scsi)
    29. Disk /dev/sdb: 85.9GB
    30. Sector size (logical/physical): 512B/512B
    31. Partition Table: msdos
    32. Number Start End Size Type File system 标志
    33. 1 512B 1000MB 1000MB primary
    34. (parted) quit         //退出
    35. 信息: You may need to update /etc/fstab.

    步骤三:将此分区格式化为ext4文件系统

    命令操作如下所示:

    1. [root@localhost ~]# partx -a /dev/sdb         //刷新分区表
    2. BLKPG: Device or resource busy
    3. error adding partition 1
    4. [root@localhost ~]# ls /dev/sdb1         //查看系统是否识别该分区
    5. /dev/sdb1
    6. [root@localhost ~]# mkfs.ext4 /dev/sdb1         //格式化分区

    步骤四:设置/识别分区属性,为分区/dev/sdb1设置卷标 disk2part1

    分析: 设置卷标采用的是e2label命令,此命令可以设置卷标也可以查看卷标。

    命令操作如下所示:

    1. [root@localhost ~]# e2label /dev/sdb1                 //查看/dev/sdb1的卷标
    2. [root@localhost ~]# e2label /dev/sdb1 "disk2part1"     //设置卷标
    3. [root@localhost ~]# e2label /dev/sdb1     //查看/dev/sdb1的卷标
    4. disk2part1
    5. [root@localhost ~]#

    步骤五:删除刚设置的卷标

    分析: 删除卷标,思路是利用“空”去替代原有卷标值。

    命令操作如下所示:

    1. [root@localhost ~]# e2label /dev/sdb1             //查看/dev/sdb1的卷标
    2. disk2part1
    3. [root@localhost ~]# e2label /dev/sdb1 ""             //利用空值代替,注意双引号
    4. [root@localhost ~]# e2label /dev/sdb1             //查看结果
    5. [root@localhost ~]#

    步骤六:查看此分区的UUID标识信息

    命令操作如下所示:

    1. [root@localhost ~]# blkid /dev/sdb1             //利用blkid查看分区UUID
    2. /dev/sdb1: UUID="9e18c916-817b-4bdd-9aee-c5c309f8c121" TYPE="ext4"
    3. [root@localhost ~]#

    步骤七:检查此分区是否支持ACL、有多少个i节点

    分析: 此题考查的是tune2fs命令,它是查看分区详细信息的命令。但输出信息较多,我们目前就看懂这两点即可。

    该分区是否支持ACL:可以利用tune2fs命令查看分区信息,再利用grep筛选看其中是否有ACL参数,有则支持,没有则不支持。

    共有多少i节点:可以利用tune2fs命令查看分区信息,再利用grep筛选“Inode count”即可。

    命令操作如下所示:

    1. [root@localhost ~]# tune2fs -l /dev/sda1 | grep acl //可以看到sda1分区是支持的
    2. Default mount options: user_xattr acl
    3. [root@localhost ~]# tune2fs -l /dev/sdb1 | grep acl //可以看到没有输出信息不支持
    4. [root@localhost ~]#
    5. [root@localhost ~]# tune2fs -l /dev/sdb1 | grep "Inode count" //查看i节点个数
    6. Inode count: 61056
    7. [root@localhost ~]#

    6 挂载设备

    6.1 问题

    1. 在/dev/sdb磁盘中添加主分区/dev/sdb2
    2. 将分区/dev/sdb2格式化为ext4文件系统
    3. 通过UUID方式将此分区挂载到/mnt/disk2part2
    4. 利用remount选项,为文件系统/dev/sdb2添加ACL支持,并验证结果
    5. 上传镜像文件linux.iso,将其挂载到 /myiso
    6. 卸载/dev/sdb2设备与linux.iso

    6.2 方案

    关于挂载参数有很多,我们只需知道比较常用的几个即可:

    • ro/rw:只读/可读可写
    • acl/noacl:启用/禁用ACL
    • exec/noexec:打开/关闭执行权
    • suid/nosuid:启用/禁用SUID和SGID
    • remount:重新挂载

    如果说挂载时没有添加任何参数,那就是默认参数defaults,相当于以下参数的组合:rw, suid, dev, exec, auto, nouser, async。

    可以看到默认参数中没有acl参数。

    6.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:在/dev/sdb磁盘中添加主分区/dev/sdb2

    命令操作如下所示:

    1. [root@localhost ~]# parted /dev/sdb print //查看分区表信息
    2. Model: VMware, VMware Virtual S (scsi)
    3. Disk /dev/sdb: 85.9GB
    4. Sector size (logical/physical): 512B/512B
    5. Partition Table: msdos
    6. Number Start End Size Type File system 标志
    7. 1 512B 1000MB 1000MB primary ext4
    8. [root@localhost ~]# parted /dev/sdb mkpart primary ext4 1G 2G //建立第二个主分区
    9. 信息: You may need to update /etc/fstab.
    10. [root@localhost ~]# parted /dev/sdb print
    11. Model: VMware, VMware Virtual S (scsi)
    12. Disk /dev/sdb: 85.9GB
    13. Sector size (logical/physical): 512B/512B
    14. Partition Table: msdos
    15. Number Start End Size Type File system 标志
    16. 1 512B 1000MB 1000MB primary ext4
    17. 2 1000MB 2000MB 999MB primary

    步骤二:将分区/dev/sdb2格式化为ext4文件系统

    命令操作如下所示:

    1. [root@localhost ~]# mkfs.ext4 /dev/sdb2
    2. .. ..

    步骤三:通过UUID方式将此分区挂载到/mnt/disk2part2

    分析: 挂载时一定确保设备、挂载点存在,且分区已格式化完成。

    命令操作如下所示:

    1. [root@localhost ~]# mkdir /mnt/disk2part2         //创建挂载点
    2. [root@localhost ~]# blkid /dev/sdb2         //查看UUID
    3. /dev/sdb2: UUID="567e5a10-9b3d-4687-af1c-8cccb961c42b" TYPE="ext4"
    4. [root@localhost ~]# mount -U 567e5a10-9b3d-4687-af1c-8cccb961c42b /mnt/disk2part2/
    5. //-U 选项是以UUID挂载,注意UUID要复制粘贴不要手敲
    6. [root@localhost ~]# mount | grep sdb2         //查看挂载结果
    7. /dev/sdb2 on /mnt/disk2part2 type ext4 (rw)
    8. [root@localhost ~]#

    步骤四:利用remount选项,为文件系统/dev/sdb2添加ACL支持,并验证结果

    命令操作如下所示:

    1. [root@localhost ~]# mount | grep sdb2         //查看挂载情况
    2. /dev/sdb2 on /mnt/disk2part2 type ext4 (rw)     //可以看到括号里,参数是rw
    3. [root@localhost ~]# mkdir /mnt/disk2part2/nsddir     //创建测试目录
    4. [root@localhost ~]# setfacl -m u:root:rwx /mnt/disk2part2/nsddir/ //测试设置ACL
    5. setfacl: /mnt/disk2part2/nsddir/: 不支持的操作
    6. [root@localhost ~]# mount -o remount,acl /dev/sdb2 /mnt/disk2part2/ //添加acl参数
    7. [root@localhost ~]# mount | grep sdb2         //查看挂载情况
    8. /dev/sdb2 on /mnt/disk2part2 type ext4 (rw,acl)     //可以看到括号里,参数是rw,acl
    9. [root@localhost ~]# setfacl -m u:root:rwx /mnt/disk2part2/nsddir/ //测试设置ACL
    10. [root@localhost ~]# getfacl /mnt/disk2part2/nsddir/
    11. getfacl: Removing leading '/' from absolute path names
    12. # file: mnt/disk2part2/nsddir/
    13. # owner: root
    14. # group: root
    15. user::rwx
    16. user:root:rwx
    17. group::r-x
    18. mask::rwx
    19. other::r-x

    步骤五:上传镜像文件linux.iso,将其挂载到 /myiso

    分析: 首先将linux.iso上传到Linux系统里,此镜像文件在真机系统中的路径为:

    C:Program Files (x86)VMwareVMware Workstationlinux.iso

    上传方式可以利用安装VMware tools工具拖拽。

    命令操作如下所示:

    1. [root@localhost 桌面]# pwd
    2. /root/桌面
    3. [root@localhost 桌面]# ls
    4. linux.iso
    5. [root@localhost 桌面]# mkdir /myiso             //创建挂载点
    6. [root@localhost 桌面]# mount /root/桌面/linux.iso /myiso //尝试挂载,提示加参数
    7. mount: /root/桌面/linux.iso is not a block device (maybe try `-o loop'?)
    8. [root@localhost 桌面]# mount -o loop /root/桌面/linux.iso /myiso //添加参数挂载
    9. [root@localhost 桌面]# mount | grep myiso     //查看挂载情况
    10. /root/桌面/linux.iso on /myiso type iso9660 (rw,loop=/dev/loop0)
    11. [root@localhost 桌面]#

    步骤六:卸载/dev/sdb2设备与linux.iso

    分析: 卸载时命令是umount,可以以设备方式卸载,也可以以挂载点方式卸载。

    推荐大家以挂载点方式卸载。

    命令操作如下所示:

     
    1. [root@localhost 桌面]# mount | grep sdb2 //查看挂载情况
    2. /dev/sdb2 on /mnt/disk2part2 type ext4 (rw,acl)
    3. [root@localhost 桌面]# umount /mnt/disk2part2/ //以挂载点卸载sdb2
    4. [root@localhost 桌面]# mount | grep sdb2 //查看卸载结果
    5. [root@localhost 桌面]# mount | grep myiso //查看挂载情况
    6. /root/桌面/linux.iso on /myiso type iso9660 (rw,loop=/dev/loop0)
    7. [root@localhost 桌面]# umount /myiso/ //以挂载点卸载linux.iso
    8. [root@localhost 桌面]# mount | grep myiso         //查看卸载结果
    9. [root@localhost 桌面]#

    7 开机自动挂载

    7.1 问题

    1. 实现开机自动将/dev/sda8扩展到Swap空间
    2. 实现开机自动将/dev/sdb1挂载/mnt/disk2part1,利用UUID表示设备,并支持ACL权限
    3. 从/dev/sdb设备中,将所有剩余空间化为一个扩展分区,然后划分出一个逻辑分区/dev/sdb5

    7.2 方案

    在Linux中实现开机自动挂载,是利用/etc/fstab配置文件来实现的。

    对于该配置文件的每个字段值,都要知道各自的含义,分别为:设备文件、挂载点、文件系统类型、挂载参数、备份标记、检测顺序。

    如果有些字段的用法忘记了,在/etc/fstab文件内会有一些默认的配置提供参考。

    7.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:实现开机自动将/dev/sda8扩展到swap空间

    分析: 开机自动挂载swap分区时,要注意挂载点为swap类型也为swap。

    书写完成后可以利用mount –a检查没有报错即书写正确

    命令操作如下所示:

     
    1. [root@localhost 桌面]# ls /dev/sda8 //查看是否有sda8设备
    2. /dev/sda8
    3. [root@localhost 桌面]# blkid /dev/sda8 //查看分区是否是swap文件系统类型
    4. /dev/sda8: UUID="848ca15c-a03e-4e0b-9ac0-bfd6507d0b7e" TYPE="swap"
    5. [root@localhost /]# vim /etc/fstab //编辑开机自动挂载配置文件
    6. [root@localhost /]# tail -n 1 /etc/fstab
    7. /dev/sda8 swap swap defaults 0 0
    8. [root@localhost /]# mount –a //检查书写是否正确,swap一般需重启才能生效
    9. [root@localhost /]#

    步骤二:实现开机自动将/dev/sdb1挂载/mnt/disk2part1,利用UUID表示设备,并支持ACL权限

    分析: 首先UUID值可利用blkid命令来查看,需注意的是UUID复制粘贴不要手敲,要去掉双引号。支持ACL只需在参数字段值处加上该参数即可以逗号隔开。

    命令操作如下所示:

    1. [root@localhost /]# mkdir /mnt/disk2part1 //创建挂载点
    2. [root@localhost /]# blkid /dev/sdb1 //查看UUID值为多少
    3. /dev/sdb1: UUID="9e18c916-817b-4bdd-9aee-c5c309f8c121" TYPE="ext4"
    4. [root@localhost /]# vim /etc/fstab //编辑开机自动挂载配置文件
    5. [root@localhost /]# tail -n 1 /etc/fstab
    6. UUID=9e18c916-817b-4bdd-9aee-c5c309f8c121 /mnt/disk2part1 ext4 defaults,acl 0 0
    7. [root@localhost /]# mount | grep sdb1 //查看挂载情况
    8. [root@localhost /]# mount –a //自动挂载
    9. [root@localhost /]# mount | grep sdb1 //查看挂载结果
    10. /dev/sdb1 on /mnt/disk2part1 type ext4 (rw,acl)
    11. [root@localhost /]#

    步骤三:从/dev/sdb设备中,将所有剩余空间化为一个扩展分区,然后划分出一个逻辑分区/dev/sdb5

    分析: 在parted命令中想使用全部空间可以使用100%。

    命令操作如下所示:

    1. [root@localhost /]# parted /dev/sdb mkpart extended 2G 100% //使用所有剩余空间
    2. 警告: WARNING: the kernel failed to re-read the partition table on /dev/sdb (设备或资源忙). As a
    3. result, it may not reflect all of your changes until after reboot.
    4. [root@localhost /]# parted /dev/sdb print
    5. Model: VMware, VMware Virtual S (scsi)
    6. Disk /dev/sdb: 85.9GB
    7. Sector size (logical/physical): 512B/512B
    8. Partition Table: msdos
    9. Number Start End Size Type File system 标志
    10. 1 512B 1000MB 1000MB primary ext4
    11. 2 1000MB 2000MB 999MB primary ext4
    12. 3 2000MB 85.9GB 83.9GB extended lba
    13. [root@localhost /]# parted /dev/sdb mkpart logical ext4 2G 3G //划分逻辑分区
    14. 警告: WARNING: the kernel failed to re-read the partition table on /dev/sdb (设备或资源忙). As a
    15. result, it may not reflect all of your changes until after reboot.
    16. [root@localhost /]# parted /dev/sdb print
    17. Model: VMware, VMware Virtual S (scsi)
    18. Disk /dev/sdb: 85.9GB
    19. Sector size (logical/physical): 512B/512B
    20. Partition Table: msdos
    21. Number Start End Size Type File system 标志
    22. 1 512B 1000MB 1000MB primary ext4
    23. 2 1000MB 2000MB 999MB primary ext4
    24. 3 2000MB 85.9GB 83.9GB extended lba
    25. 5 2001MB 3000MB 999MB logical

    8 autofs触发挂载

    8.1 问题

    1. 格式化/dev/sdb5为ext4文件系统
    2. 配置一个触发挂载服务:
    3. 监控目录为/misc
    4. 触发目录为tools
    5. 挂载设备为/dev/sdb5

    8.2 方案

    autofs触发挂载是一个服务,要想使用这个服务,要确保系统安装了此服务和开启此服务。autofs之所以可以达到触发挂载,原因是它具有两个配置文件:

    • 主配置文件 /etc/auto.master,记录“监控点目录、挂载配置文件的路径”
    • 挂载配置文件,比如 /etc/auto.misc,记录“挂载点子目录 -挂载参数 :设备名”

    更改配置文件后需重启autofs服务生效。

    8.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:格式化/dev/sdb5为ext4文件系统

    命令操作如下所示:

    1. [root@localhost /]# ls /dev/sdb5 //查看是否识别该分区
    2. ls: 无法访问/dev/sdb5: 没有那个文件或目录
    3. [root@localhost /]# partx -a /dev/sdb //刷新分区表
    4. BLKPG: Device or resource busy
    5. error adding partition 1
    6. BLKPG: Device or resource busy
    7. error adding partition 2
    8. [root@localhost /]# ls /dev/sdb5 //查看刷新结果
    9. /dev/sdb5
    10. [root@localhost /]# mkfs.ext4 /dev/sdb5 //格式化sdb5分区

    步骤二:配置一个触发挂载服务:

    在/etc/auto.misc主配置文件中,定义挂载设备为/dev/sdb5

    命令操作如下所示:

    1. [root@localhost /]# vim /etc/auto.master
    2. [root@localhost /]# grep /misc /etc/auto.master
    3. /misc /etc/auto.misc //此句话原本已存在无需更改
    4. # Note that if there are entries for /net or /misc (as
    5. [root@localhost /]#

    在/etc/auto.master挂载配置文件中,定义挂载设备、参数、挂载点。挂载设备为/dev/sdb5

    命令操作如下所示:

    1. [root@localhost /]# vim /etc/auto.misc
    2. [root@localhost /]# grep tools /etc/auto.misc
    3. tools -fstype=ext4 :/dev/sdb5
    4. [root@localhost /]# service autofs restart //重启autofs服务
    5. 停止 automount:[确定]
    6. 正在启动 automount:[确定]
    7. [root@localhost /]# ls /misc/
    8. [root@localhost /]# ls /misc/tools //访问触发挂载点
    9. lost+found
    10. [root@localhost /]# mount | grep tools //查看结果
    11. /dev/sdb5 on /misc/tools type ext4 (rw)
    12. [root@localhost /]#
  • 相关阅读:
    SQL where 条件顺序对性能的影响有哪些
    性能优化实战-join与where条件执行顺序
    执行计划--WHERE条件的先后顺序对执行计划的影响
    要提高SQL查询效率where语句条件的先后次序应如何写
    winform渐变窗口显示/关闭
    Linq to Object实现分页获取数据
    无法将类型“System.Collections.Generic.IEnumerable<EmailSystem.Model.TemplateInfo>”隐式转换为“System.Collections.Generic.List<EmailSystem.Model.TemplateInf
    求本年、本月、本周等数据
    DataTable无法使用AsEnumerable ()的解决办法
    C#截取指定字符串函数
  • 原文地址:https://www.cnblogs.com/linux985/p/12517843.html
Copyright © 2011-2022 走看看