注意:

  • 磁盘分区和格式化是高风险行为,请慎重操作。本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据进行备份以避免可能的数据丢失。
  • 服务器仅支持对 数据盘 进行分区,而不支持对 系统盘 进行分区。如果您强行使用第三方工具对系统盘进行分区操作,可能引发未知风险,如系统崩溃、数据丢失等。

本文描述如何用一个新的数据盘创建一个单分区数据盘并挂载文件系统。

您还可以根据业务需要,对数据盘进行多分区配置。建议使用系统自带的工具进行分区操作。

在本示例中,我们用一个新的 20 GB 数据盘(设备名为 /dev/xvdb)创建一个单分区数据盘并挂载一个 ext3 文件系统。使用的实例是 I/O 优化实例,操作系统为 CentOS 7.1。

    1. 运行 fdisk -l 命令查看实例是否有数据盘。如果执行命令后,没有发现 /dev/vdb,表示您的实例没有数据盘,无需格式化数据盘。

      如果您的数据盘显示的是 dev/xvd?,表示您使用的是非 I/O 优化实例。
      其中 ? 是 a−z 的任一个字母。

    2. 创建一个单分区数据盘,依次执行以下命令:

      1. 运行 fdisk /dev/vdb:对数据盘进行分区。

      2. 输入 n 并按回车键:创建一个新分区。

      3. 输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

        如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e

      4. 输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1。

      5. 输入第一个可用的扇区编号:按回车键采用默认值 1。

      6. 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。

      7. 输入 wq 并按回车键,开始分区。

        1. [root@iXXXXXXX ~]# fdisk /dev/db
        2. Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
        3. Building a new DOS disklabel with disk identifier 0x5f46a8a2.
        4. Changes will remain in memory only, until you decide to write them.
        5. After that, of course, the previous content won't be recoverable.
        6. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
        7. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
        8. switch off the mode (command 'c') and change display units to
        9. sectors (command 'u').
        10. Command (m for help): n
        11. Command action
        12. e extended
        13. p primary partition (1-4)
        14. p
        15. Partition number (1-4): 1
        16. First cylinder (1-41610, default 1): 1
        17. Last cylinder, +cylinders or +size{K,M,G} (1-41610, default 41610):
        18. Using default value 41610
        19. Command (m for help): wq
        20. The partition table has been altered!
        21. Calling ioctl() to re-read partition table.
        22. Syncing disks.
    3. 查看新的分区:运行命令 fdisk -l。如果出现以下信息,说明已经成功创建了新分区 /dev/vdb1。

      1. [root@iXXXXXXX ~]# fdisk -l
      2. Disk /dev/vda: 42.9 GB, 42949672960 bytes
      3. 255 heads, 63 sectors/track, 5221 cylinders
      4. Units = cylinders of 16065 * 512 = 8225280 bytes
      5. Sector size (logical/physical): 512 bytes / 512 bytes
      6. I/O size (minimum/optimal): 512 bytes / 512 bytes
      7. Disk identifier: 0x00053156
      8. Device Boot Start End Blocks Id System
      9. /dev/vda1 * 1 5222 41942016 83 Linux
      10. Disk /dev/vdb: 21.5 GB, 21474836480 bytes
      11. 16 heads, 63 sectors/track, 41610 cylinders
      12. Units = cylinders of 1008 * 512 = 516096 bytes
      13. Sector size (logical/physical): 512 bytes / 512 bytes
      14. I/O size (minimum/optimal): 512 bytes / 512 bytes
      15. Disk identifier: 0x5f46a8a2
      16. Device Boot Start End Blocks Id System
      17. /dev/vdb1 1 41610 20971408+ 83 Linux
    4. 在新分区上创建一个文件系统:运行命令 mkfs.ext3 /dev/vdb1

      本示例要创建一个 ext3 文件系统。您也可以根据自己的需要,选择创建其他文件系统,例如,如果需要在 Linux、Windows 和 Mac 系统之间共享文件,您可以使用 mkfs.vfat 创建 VFAT 文件系统。

      创建文件系统所需时间取决于数据盘大小。

      1. [root@iXXXXXXX ~]# mkfs.ext3 /dev/vdb1
      2. mke2fs 1.41.12 (17-May-2010)
      3. Filesystem label=
      4. OS type: Linux
      5. Block size=4096 (log=2)
      6. Fragment size=4096 (log=2)
      7. Stride=0 blocks, Stripe width=0 blocks
      8. 1310720 inodes, 5242852 blocks
      9. 262142 blocks (5.00%) reserved for the super user
      10. First data block=0
      11. Maximum filesystem blocks=4294967296
      12. 160 block groups
      13. 32768 blocks per group, 32768 fragments per group
      14. 8192 inodes per group
      15. Superblock backups stored on blocks:
      16. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      17. 4096000
      18. Writing inode tables: done
      19. Creating journal (32768 blocks): done
      20. Writing superblocks and filesystem accounting information: done
      21. This filesystem will be automatically checked every 37 mounts or
      22. 180 days, whichever comes first. Use tune2fs -c or -i to override.
    5. (建议)备份 etc/fstab:运行命令 cp /etc/fstab /etc/fstab.bak

    6. 向 /etc/fstab 写入新分区信息:运行命令 echo /dev/vdb1 /mnt ext3 defaults 0 0 >> /etc/fstab

      注意:Ubuntu 12.04 不支持 barrier,所以对该系统正确的命令是:echo '/dev/vdb1 /mnt ext3 barrier=0 0 0' >> /etc/fstab

      如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,请将以上命令 /mnt 替换成所需的挂载点路径。

    7. 查看 /etc/fstab 中的新分区信息:运行命令 cat /etc/fstab

      1. [root@iXXXXXXX ~]# cat /etc/fstab
      2. #
      3. # /etc/fstab
      4. # Created by anaconda on Thu Feb 23 07:28:22 2017
      5. #
      6. # Accessible filesystems, by reference, are maintained under '/dev/disk'
      7. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      8. #
      9. UUID=3d083579-f5d9-4df5-9347-8d27925805d4 / ext4 defaults 1 1
      10. tmpfs /dev/shm tmpfs defaults 0 0
      11. devpts /dev/pts devpts gid=5,mode=620 0 0
      12. sysfs /sys sysfs defaults 0 0
      13. proc /proc proc defaults 0 0
      14. /dev/vdb1 /mnt ext3 defaults 0 0
    8. 挂载文件系统:运行命令 mount /dev/vdb1 /mnt

    9. 查看目前磁盘空间和使用情况:运行命令 df -h。如果出现新建文件系统的信息,说明挂载成功,可以使用新的文件系统了。

      挂载操作完成后,不需要重启实例即可开始使用新的文件系统。

      1. [root@iXXXXXXX ~]# mount /dev/vdb1 /mnt
      2. [root@iXXXXXXX ~]# df -h
      3. Filesystem Size Used Avail Use% Mounted on
      4. /dev/vda1 40G 6.6G 31G 18% /
      5. tmpfs 499M 0 499M 0% /dev/shm
      6. /dev/vdb1 20G 173M 19G 1% /mnt
    10. 最后说下卸载磁盘,上面我们已经初始化和挂载数据盘,卸载就比较简单了。
      1. 查询下挂载数据盘名:df -h
      2. 使用umount /dev/vdb命令即可将上面挂载的硬盘卸载。
      3. 在卸载过程中如果出现:umount: /mut: device is busy.
        说明是你的工作目录正处于这个磁盘的某个目录下,解决方式就是切换到别的磁盘中,比如: cd  /root
        这样就可以卸载成功了。
      4. 卸载后如果想重新挂载到别的目录,只需要:mount /dev/vdb1 /var/lib/docker 即可挂载成功(本人亲测重挂后数据不会丢失,但为了安全起见建议还是备份下数据再重新挂载)。

Linux格式化、挂载及卸载数据盘的更多相关文章

  1. Linux 系统挂载阿里云数据盘

    适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) *  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 下面的操作将会把数据盘划 ...

  2. 在linux下挂载、卸载U盘

    首先你得保证你的U盘的格式是fat格式. 先进入/mnt/目录新建一个usb目录 cd /mnt/ mkidr usb 先fdisk -l,然后插上U盘,fdisk -l 查看是否有新的硬盘添加上来了 ...

  3. Linux 挂载和卸载U盘

    一般的U盘挂载方法: mount [-fnrsvw]  [-t vfstype] [-o options] device dir 参数:device表示要挂载的设备,dir表示挂载点 -t 指定设备的 ...

  4. 【Linux】扩展阿里云数据盘分区和文件系统

    扩容云盘只是扩大存储容量,不会扩容文件系统 一.准备工作 在扩展数据盘扩展分区和文件系统前,请提前完成以下工作. 创建快照以备份数据,防止操作失误导致数据丢失. 通过ECS控制台或者API扩容云盘容量 ...

  5. Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

    在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复.如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态. 前提条件 在修复数据前,您必须先对分区丢失的数 ...

  6. 树莓派挂载和卸载U盘或移动硬盘

    通常我们在 /mnt 或 /media 目录下新建一个目录udisk作为挂载点 sudo mkdir /mnt/udisk 1.手动挂载: 挂载命令: sudo mount -o uid=pi,gid ...

  7. [求助]linux同一目录可否挂载多个数据盘?

    https://bbs.aliyun.com/read/281222.html?pos=20

  8. 攻城狮在路上(叁)Linux(二十二)--- linux磁盘挂载与卸载 mount umount

    挂载就是将文件系统与目录结合的操作.挂载点就是目录,该目录就是进入分区或文件系统的入口. 一.挂载前的注意事项: 1.单一文件系统不应该被重复挂载在不同的挂载点中. 2.单一目录不应该重复挂载多个文件 ...

  9. linux mount挂载设备(u盘,光盘,iso等 )使用说明

    对于新手学习,mount 命令,一定会有很多疑问.其实我想疑问来源更多的是对linux系统本身特殊性了解问题. linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备.如: [cheng ...

随机推荐

  1. jmeter 使用问题

    问题1:导入脚本失败,提示 解决:没有安装JMemter plugins manager插件,具体安装参考http://www.cnblogs.com/cxx1/p/7883820.html,第二步.

  2. BOM 浏览器对象模型_XMLHttpRequest 对象

    XMLHttpRequest 对象 浏览器与服务器之间,采用 HTTP 协议 通信. 用户在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容,这时浏览器就会向服务器发出 HTTP 请求 AJ ...

  3. 查看webdriver API

    pydoc是Python自带的模块,主要用于从python模块中自动生成文档 生成web页面文档: cmd->python -m pydoc -p 8888 -p:在本机上启动服务 8888:端 ...

  4. org.apache.ibatis.binding.BindingException: Parameter 'start' not found. Available parameters are [1, 0, param1, param2]

    DEBUG 2018-05-30 08:43:26,091 org.springframework.jdbc.datasource.DataSourceTransactionManager: Roll ...

  5. Ringo替换Paul

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  7. 洛谷P3385 【模板】负环

    题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入输出格式 输入格式: 第一行一个正整数T表示数据组 ...

  8. easyui dialog 中 panel-body 高度太小出现 滚动条 的原因

    easyui dialog 中 panel-body 高度太小出现 滚动条 的原因: dialog 高度比 iframe 高度大79 就可以了 $.editcompanypersoninfo = fu ...

  9. Akka并发编程框架 -概念模型(Akka.net或者Orleans)

    Akka 来构建具备高容错性.可以横向扩展的分布式网络应用程序. Akka 通常是指一个强大的分布式工具集,用于协调远程计算资源来进行一些工作 Akka 工具集以及Actor 模型的介绍. Actor ...

  10. 使用Eureka作为springcloud的注册机

    使用springcloud做项目的负载均衡,需要导的jar这里不再显示,具体配置如下: 作为被注册服务配置: 启动多台服务端就可以实现集群,相应的localhost需要转成真实的ip 当然一个项目还要 ...