7.磁盘挂载操作

参考连接:

https://blog.csdn.net/qq_3591...
https://blog.csdn.net/zqixiao...

(1),查看当前磁盘状态

fdisk -l
# 结果:当前未挂载盘的名称为--vda
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000d2717

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83884031    41940992   83  Linux

(2),进入硬盘操作界面

fdisk -u /dev/vda
# 结果
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x4ea06564 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):

(3),创建分区

# 简化步骤:将未挂载的盘se'h
fdisk /dev/vdb
    n
    p
    1
    回车使用默认值
    回车使用默认值
    w
  • 输入n再按enter开始创建一个新的分区
    出现两个菜单e表示扩展分区,p表示主分区
    按"p"键出现提示:"Partition number (1-4): "选择主分区号
    输入"1"表示第一个主分区。
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-104857599,默认为 2048):2048
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):
    将使用默认值 104857599
    
  • p 查看分区
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/vdb:53.7 GB, 53687091200 字节,104857600 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x89f2e8d4
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048   104857599    52427776   83  Linux
    
  • w 保存退出
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    

(4),格式化刚刚创建的磁盘

# 根据此时生成的名称进行判断
mkfs.ext4 /dev/vdb1

# 可以在创建的时候指定 inode的个数:使用 -N 参数,示例中的数字创建出的inode的大小刚好是128M
mkfs.ext4 /dev/vdb1 -N 133307691312

(5),创建挂载目录并挂载

  • mkdir /vdb1
  • 挂载目录 mount /dev/vdb1 /vdb1
  • 查看挂载结果: df -h

(6),配置开机自动挂载

因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载:

# 先查看对应磁盘的UUID,比如vdb的,查看到的结果替换下边的xxx
ls -l /dev/disk/by-uuid
# 修改对应的内容
vi /etc/fstab

UUID=xxx /当前磁盘挂载的目录                   ext4     defaults        0 0

(7),解除磁盘挂载

https://my.oschina.net/lionel...
# 0,大前提: /dev/sdd1 是磁盘的名称,/app 是挂载的目录名称;这两者在操作中是等价的.
# 1,直接 umount 的方式卸载
umount /dev/sdd1
# 2,强制卸载
umount -f /TomcatLog
# 3,如果此时无法卸载并报如下错误
umount2: Device or resource busy
umount: /TomcatLog: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount2: Device or resource busy

# 解决方法:
# 步骤1:
fuser -cu /TomcatLog/
/TomcatLog/:          9590c(root)

# 步骤2:
fuser -ck /TomcatLog/

# 步骤3:
umount /TomcatLog

# 可以正常卸载了,另外附参数详解:
-c表示显示所有挂载该设备的进程;
-u表示显示正在操作该设备的用户名;
-k表示杀死所有访问该设备的进程(注意:这将杀死访问该设备的进程,如果有其他设备也在用这个进程,记得卸载后重启该服务进程避免影响正常业务);

wangyq_sure
21 声望0 粉丝

认真学习、思考、反思、总结、分享日常的编程经验~~