Linux 为阿里云服务器新添加一块磁盘

    xiaoxiao2022-07-05  161

    今天在学习阿里云的快照功能时,发现公司每个 ECS 实例下磁盘有系统盘和数据盘两种:

     

    关于系统盘和数据盘,阿里云的官方文档描述如下:

     

    按我的理解,系统盘和数据盘同为阿里云的块存储设备,无本质上的差别,唯一的区别在于,系统盘是随着 ECS 实例创建时,自动挂载到实例中,作为 Linux 中必不可少第一块磁盘,而数据盘则用于磁盘空间扩容,会自动装载到 ESC 实例中,但是需要分区、格式化、挂载后才能使用。

    我们公司之前的操作人员在购买 ECS 实例时,为每个 ECS 实例额外购买了 200 个 G 的数据盘,但并未投入生产使用,现在每个服务器依然只有 40 个 G 的存储空间。

     

    查看分区类型:

    [root@manager-117 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └─vda1 253:1 0 40G 0 part / [root@manager-117 ~]# parted /dev/vda print Model: Virtio Block Device (virtblk) Disk /dev/vda: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary ext4 boot

               上面分区表类型显示的 msdos ,表示磁盘是 MBR 分区类型,MBR 分区使用 fdisk 命令磁盘分区,GPT分区使用 gdisk 命令磁盘分区;

     

    使用 fdisk 查看是否存在没有分区的磁盘:

    [root@manager-117 ~]# fdisk -l 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: 0x0008d73a Device Boot Start End Blocks Id System /dev/vda1 * 2048 83884031 41940992 83 Linux Disk /dev/vdb: 214.7 GB, 214748364800 bytes, 419430400 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 [root@manager-117 ~]#

    上面表示 系统中已经装载了一块新磁盘 /dev/vdb, 大小为214.7个G,但并未进行挂载使用;

    将该磁盘添加到系统中:

     

    第一步:分区

    [root@manager-117 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xba6dca54. Command (m for help): p Disk /dev/vdb: 214.7 GB, 214748364800 bytes, 419430400 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: 0xba6dca54 Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-419430399, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): Using default value 419430399 Partition 1 of type Linux and of size 200 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.

    第二步:格式化

    [root@manager-117 ~]# mkfs -t ext4 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 13107200 inodes, 52428544 blocks 2621427 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2199912448 1600 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, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done

    第三步:挂载

    [root@manager-117 ~]# mkdir /data [root@manager-117 ~]# mount /dev/vdb1 /data

    查看是否生效:

    [root@manager-117 ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 40G 8.2G 30G 22% / devtmpfs devtmpfs 16G 0 16G 0% /dev tmpfs tmpfs 16G 0 16G 0% /dev/shm tmpfs tmpfs 16G 1.7M 16G 1% /run tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/983380badcc0be507c6d06b5be709c97b47cdd85d79c715243f9fc07116417c5/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/516a25698415edc61d19f84efac8e4e1f527e87198be7b162d81bb31fdeae92c/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/5c9c523e0e88b12064e943324b20b5e12e190a5b06ffe24b71560d64a904e9b2/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/5fe03ffe737bf07974debe1b342c2e6686f1bded544dfb708a7f298847daf812/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/ec71117f3c28b8e45a5091660cf3a61cff3f85096b600eaccf1accb937b49835/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/dd94d5644aee5c729fd61a53b1d812660f6781c0a6562575f3a004fad54086c5/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/654f6d7b653ee718bdc401e2a9519d68e05cae05fcb4520d8408b32514256e56/shm shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/668915046ca6d12ffd95cb0a516d1a4a972e86c1909b6d77fee49cd699b7315a/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/2cd78f1ecbd336ecd68dd8601e33dd9ed7aa4ad369547693f4dd375f3b2de95b/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/cc79290fa6045524cc491041072c0425790b65ba5c8f3c5b631796c37523ee9a/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/4d359227711da76c9c18ed42739a1434bc6b27e56ddd9a323f7b560e6a241b4b/shm shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/2b18d76ff658663506bc689396034672d433f2b61df75d3466e3d6ac3f87df7f/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/256beaa7ae061d0372648f063c715cb54d2771fd48b35168344b93190eb1957e/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/46457f18b4da731dd5414784ee03be566b4cd7dc27eba3662a2beaaf2a24002d/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/9af4017943e11e8638b0f3b8739e955852ddb7336637d002b6d360aaacc04254/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/1b26531a4f593f024db0ecaedcd2d82c25a1e439abc8602e9288a0a60eb97dbc/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/77f21520cd189edab98be30b848b8e0056003b462becca8d135f5a7c8a028d58/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/34d7b4d5584d820377e119756682ba06a9d64c06677c0851517b208c4de88355/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/b22de236151c1a95e3cf61811fe523ee9a80f0b28c0a8a665fb68cb250be75cb/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/666be0ccc3422e247b9baaac419bf67593306b182b38eb3a6e6f436a49e9752f/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/4721d2cf6e161b9f3b4459beaa58cb13ba29b52efe96a91b1f7cc30e11dc12ad/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/23b48a996e87fbf128f8dcc20346f90b48b231015230ad25c1bdf963ba79686e/merged overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/88de1d1282dd17dbe9a6cf69b2a42e164e47333784c7b5ece9bad72d22d19dc5/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/2ab3a4af5c4b28194e2b54145c796f78ef04227476d76442904279e00b60cc1c/shm shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/c788033d7726e00610d81ff44a78782e5d96edada766a3621be222384f9f2c17/shm shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/c675e9f1ea8c4740a480d8e7e1bb120c81b4d886feb1b057fe5d696da5ca5c64/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/7530a155bb76f55dddf470cd45c29b5c3b8eb57cae664ddebd3df7b302f8305d/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/69234b2848255d46d834038caa187b3a2144fc8d5a4d4246bb3301ecac2b9869/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/28db3e41db46c8b3060661f2d6c3288915f1eafc23a69bbf64ae2ae0589bdb1f/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/40fafe723800602d4ab6a6ca48645058d943497e8c98aa54446312e6a658875a/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/c443b9cd9e2b8c2fe060b3f28c251e23a4245eba6211ec110a434c05e9b6675c/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/cf71512e3999b11b5cfbf62ac42f4c3343d9074ceb43647acc5b0b65e2bf2607/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/7f98a02f4521a260625ab8fadc512a8d86d511b503ff6aa5f5832ca47fd8854e/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/c41b80cbe8809609410d728c8693250e9e835409f4a90f18afe7988f84b58c4a/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/927876eae87803f3146c26957ef7c250668b3aa279a2e033ab297941acffc4c7/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/dfa3bca2dda6b924e9bd908d0ad1ef73e8500cb7d60f1a17c255092e1d081078/shm overlay overlay 40G 8.2G 30G 22% /var/lib/docker/overlay/f2b5ae6c01cbf29de8268258810cebe33f4ad8daf29ac27c2753b80a4d7171d5/merged shm tmpfs 64M 0 64M 0% /var/lib/docker/containers/1cd214f505a5a3483a0c32f0706694684abc56bc59887326e3f84ec525175515/shm tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0 /dev/vdb1 ext4 197G 61M 187G 1% /data

    已将该磁盘挂载到 linux 系统中。

    注意:使用 mount 命令挂载的分区在系统重启时会失效,需再次使用 mount 命令进行挂载,也可以编辑 /etc/fstab 文件设置开机自动挂载。

     

    第四步:设置开机自动挂载

    获取分区的 uuid:

    [root@manager-117 ~]# blkid /dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4" /dev/vdb1: UUID="8ec5348c-3c98-4bd4-98eb-66b5c657927e" TYPE="ext4"

    编辑 /etc/fstab 文件:

    # # /etc/fstab # Created by anaconda on Sun Oct 15 15:19:00 2017 # # 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 # UUID=eb448abb-3012-4d8d-bcde-94434d586a31 / ext4 defaults 1 1 UUID=8ec5348c-3c98-4bd4-98eb-66b5c657927e /data ext4 defaults 1 2

     

    关于 /etc/fstab 参数说明:

    第一列是要挂载的分区的标识。

    可以是实际分区名,也可以是实际分区的卷标(Lable),或者是 UUID。

    第二列是挂载点。

    挂载点必须为当前已经存在的目录,最好为空目录。

    第三列为此分区的文件系统类型。

    此字段须与分区格式化时使用的类型相同,也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。

    第四列是挂载的选项。

    用于设置挂载的参数,常见参数如下:

    auto 系统自动挂载,fstab默认就是这个选项; defaults rw, suid, dev, exec, auto, nouser, and async; noauto 开机不自动挂载; nouser 只有超级用户可以挂载; ro 按只读权限挂载; rw 按可读可写权限挂载; user 任何用户都可以挂载; 请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto。

    第五列是dump备份设置。

    当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

    第六列是fsck磁盘检查设置。

    其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

    最新回复(0)