通过UserData在根目录创建文件夹:
在Web服务器挂载两个磁盘一个10G系统 盘,一个10G数据盘(挂载点/goclouds), 并配置fstab做重启自动挂磁盘:
(参考aws官方文档:https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ebs-using-volumes.html)
使用以下命令在您在上一步中创建的目录挂载卷: sudo mount /dev/xvdf /data
重启后自动挂载附加卷
-
(可选)创建
/etc/fstab
文件的备份,以便在编辑时误损坏或删除此文件时使用。[ec2-user ~]$
sudo cp /etc/fstab /etc/fstab.orig
-
使用 blkid 命令查找设备的 UUID。
[ec2-user ~]$
sudo blkid
/dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"
-
使用任何文本编辑器(如 nano 和 vim)打开
/etc/fstab
文件。[ec2-user ~]$
sudo vim /etc/fstab
-
将以下条目添加到
/etc/fstab
以在指定的挂载点挂载设备。这些字段是 blkid 返回的 UUID 值、挂载点、文件系统和建议的文件系统挂载选项。有关更多信息,请参阅 fstab 的手册页面(运行 man fstab)。UUID=
aebf131c-6957-451e-8d34-ec978d9581ae
/data
xfs
defaults,nofail 0 2注意
如果您要在未附加此卷的情况下启动实例(例如,将卷移动到另一个实例之后),
nofail
挂载选项允许该实例即使在卷挂载过程中出现错误时也可启动。Debian 衍生物 (包括早于 16.04 的 Ubuntu 版本) 还必须添加nobootwait
装载选项。 -
要检查条目是否有效,请在
/etc/fstab
中运行以下命令以卸载设备,然后挂载所有文件系统。如果未产生错误,则说明/etc/fstab
文件正常,您的文件系统会在重启后自动挂载。[ec2-user ~]$
sudo umount
/data
[ec2-user ~]$
sudo mount -a
如果收到错误消息,请解决文件中的错误。
警告
/etc/fstab
文件中的错误可能显示系统无法启动。请勿关闭/etc/fstab
文件中有错误的系统。如果您无法确定如何更正
/etc/fstab
中的错误并且您在此过程的第一步中创建了一个备份文件,则可以使用以下命令从您的备份文件还原。[ec2-user ~]$
sudo mv /etc/fstab.orig /etc/fstab
调整数据盘从10G扩展至20G:
在console中点击你需要扩容的EC2实例,找到对应的磁盘
点击进入:
点击修改卷:
修改卷大小后,需要通过命令扩展文件系统
(参考: https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html)
查看对应的文件扩展系统命令:df - hT
根据对应的执行命令即可。本次实验是ext4,因此执行 sudo resize2fs /dev/xvdf1
标识卷的文件系统
要验证文件系统是否用于您实例上的每个卷,请连接到您的实例并运行 file -s 命令。
例 示例:基于 Nitro 的实例上的文件系统
以下示例显示了一个基于 Nitro 的实例,该实例具有带 XFS 文件系统的启动卷和带 XFS 文件系统的额外卷。
[ec2-user ~]$
sudo file -s /dev/nvme?n*
/dev/nvme0n1: x86 boot sector ... /dev/nvme0n1p1: SGI XFS filesystem data ... /dev/nvme0n1p128: data /dev/nvme1n1: SGI XFS filesystem data ...
例 示例:T2 实例上的文件系统
以下示例显示了一个 T2 实例,该实例具有带 ext4 文件系统的启动卷和带 XFS 文件系统的额外卷。
[ec2-user ~]$
sudo file -s /dev/xvd*
/dev/xvda: DOS/MBR boot sector .. /dev/xvda1: Linux rev 1.0 ext4 filesystem data ... /dev/xvdf: SGI XFS filesystem data ...
扩展分区(如果需要)
您的 EBS 卷可能有一个包含文件系统和数据的分区。增加卷的大小不会增加分区的大小。在调整大小后的卷上扩展文件系统之前,请检查卷是否具有必须扩展到卷的新大小的分区。
使用 lsblk 命令显示有关附加到实例的块储存设备的信息。如果调整大小后的卷有一个分区且该分区不反映卷的新大小,请使用 growpart 命令扩展该分区。有关扩展 LVM 分区的信息,请参阅扩展逻辑卷。
例 示例:基于 Nitro 的实例上的分区
以下示例显示了基于 Nitro 的实例上的卷:
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
-
根卷
/dev/nvme0n1
具有一个分区/dev/nvme0n1p1
。当根卷的大小反映新大小 16 GB 时,分区的大小会反映原始大小 8 GB 并且必须先进行扩展,然后才能扩展文件系统。 -
卷
/dev/nvme1n1
没有分区。卷的大小反映新大小 30 GB。
要在根卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。
[ec2-user ~]$
sudo growpart /dev/nvme0n1 1
您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
例 示例:T2 实例上的分区
以下示例显示了 T2 实例上的卷:
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 8G 0 part /data
-
根卷
/dev/xvda
具有一个分区/dev/xvda1
。当卷的大小为 16 GB 时,分区的大小仍为 8 GB 且必须进行扩展。 -
卷
/dev/xvdf
具有一个分区/dev/xvdf1
。当卷的大小为 30G 时,分区的大小仍为 8 GB 且必须进行扩展。
要在每个卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。
[ec2-user ~]$
sudo growpart /dev/xvda 1
[ec2-user ~]$
sudo growpart /dev/xvdf 1
您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part /data
扩展文件系统
可使用特定于文件系统的命令将每个文件系统调整为新的卷容量。有关此处显示的示例以外的文件系统,请参阅文件系统的文档以了解相关说明。
例 示例:扩展 ext2、ext3 或 ext4 文件系统
使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,/dev/xvda1
和 /dev/xvdf
均反映卷的原始大小 8 GB。
[ec2-user ~]$
df -h
Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.9G 6.2G 24% / /dev/xvdf1 8.0G 45M 8.0G 1% /data ...
使用 resize2fs 命令扩展每个卷上的文件系统。
[ec2-user ~]$
sudo resize2fs /dev/xvda1
[ec2-user ~]$
sudo resize2fs /dev/xvdf1
您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。
[ec2-user ~]$
df -h
Filesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 1.9G 6.2G 12% / /dev/xvdf1 30G 45M 8.0G 1% /data ...
例 示例:扩展 XFS 文件系统
使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,每个文件系统均反映原始卷大小 8 GB。
[ec2-user ~]$
df -h
Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 8.0G 33M 8.0G 1% /data ...
要扩展 XFS 文件系统,请按以下方式安装 XFS 工具(如果尚未安装)。
[ec2-user ~]$
sudo yum install xfsprogs
使用 xfs_growfs 命令扩展每个卷上的文件系统。在此示例中,/
和 /data
是 df -h 的输出中显示的卷挂载点。
[ec2-user ~]$
sudo xfs_growfs -d /
[ec2-user ~]$
sudo xfs_growfs -d /data
您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。
[ec2-user ~]$
df -h
Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 16G 1.6G 15G 10% / /dev/nvme1n1 30G 33M 30G 1% /data ...
可以通过跳板机使用WEB服务器密钥访问到web服务器(上次演示过了,参考上次文章)
ssh-add命令
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。
语法
ssh-add [-cDdLlXx] [-t life] [file...]ssh-add -s pkcs11ssh-add -e pkcs11
选项
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
实例
1、把专用密钥添加到 ssh-agent 的高速缓存中:
ssh-add ~/.ssh/id_dsa
2、从ssh-agent中删除密钥:
ssh-add -d ~/.ssh/id_xxx.pub
3、查看ssh-agent中的密钥:
ssh-add -l
挂载硬盘遇到的问题
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
解决办法:输入下面的命令,创建文件系统,然后重新挂载
mkfs.ext4 /dev/sdb1