Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
  • Product Hunt
  • Visual Capitalist
  • Elon Musk
Menu

如何在 Linux EC2 服务器上标记 AWS EBS 卷

Posted on 2025-01-07

如何在 linux-ec2 上标记 aws-ebs-volumes-

在过去的几个月里,我的团队决定在我们的环境中更多地利用 Linux,并且我承担了大部分 Linux 管理流程。对于我们的所有资源,我们利用标签来帮助识别资源并将其分组。

对于我们的 Windows 计算机,我们使用 PowerShell 来获取磁盘的潜水符和标签,并相应地标记我们的卷。当我们需要更多磁盘空间时,当我们获得在服务器上扩展驱动器的票据时,这很有帮助。我们获取服务器名称、磁盘盘符和要添加的空间。但是,在控制台中查看时,我们可以看到附加的卷,但 AWS 控制台不会反映/dev/sda1或xvdb中显示的设备名称是 C: 驱动器还是 D: 或其他。

同样的问题也适用于 Linux 服务器。幸运的是,在这两种情况下,卷 ID 都会成为操作系统中磁盘的序列号。因此,我们可以使用它来匹配附加实例的卷 ID,并按照我们认为合适的方式向其添加标签。

寻找坐骑

在我们的环境中,我们将磁盘安装在相同的位置,但如果配置错误,我们将使用安装路径来获取设备 ID,然后对其进行标记。

使用findmnt可以为我们提供挂载路径正在使用的源磁盘。我想查找/mnt/mdf/并找到属于哪个磁盘。

 $ findmnt -noheadings --output SOURCE --target /mnt/mdf /dev/nvme1n1

获取卷 ID

对我们来说幸运的是,当磁盘连接到计算机时,A​​WS 使用卷 ID 作为磁盘上的序列号。我们可以做一些跑腿工作并以我们需要的格式获得它。为此,我使用了命令nvme并且可以通过apt install nvme-cli进行安装。

 $ sudo nvme id-ctrl -v /dev/nvme1n1 | grep "sn" sn : vol03f4v1o75f8lkbbqs

现在我们只需要后半部分,并在vol和其余字符之间添加破折号。我们将使用cut选择:右侧的内容,然后使用tr将vol替换为vol- 。

 $ sudo nvme id-ctrl -v /dev/nvme1n1 | grep "sn" | cut -d ":" -f2 | tr " vol" "vol-" vol-03f4v1o75f8lkbbqs

标记资源

标记 EBS 卷就像标记 EC2 实例一样。在本例中,我想按照操作系统查看卷的方式来标记 AWS 中的卷。

 aws ec2 create-tags --resources vol-03f4v1o75f8lkbbqs ` --tags Key = os-drive-letter,Value = /dev/nvme1n1 Key = os-volume-name,Value = sqldata

这将创建标签:

 os-drive-letter = /dev/nvme1n1 os-volume-name = sqldata

现在,当有人要求扩展 SQL 数据驱动器的卷时,如果连接了多个磁盘,我们就知道它到底是哪一个。

函数式编程

现在我们知道如何标记我们的卷,我们可以制作一个脚本和函数,使制作变得快速而简单。函数式脚本的伟大之处在于能够多次使用同一代码块并获得相同的期望结果。由于我们确实附加了多个卷并将它们安装在同一个位置,因此我们可以使用上面的逻辑来创建一个函数。

 # Usage: # tag_volume "/mount/path" "label-to-use" tag_volume ( ) { [ -z " $1 " ] && echo "No mount path argument supplied" [ -z " $2 " ] && echo "No mount label supplied argument supplied" MOUNTPATH = $1 MOUNTLABEL = $2 echo "looking for $MOUNTPATH to label it as $MOUNTLABEL " MOUNT = " $( findmnt -noheadings --output SOURCE --target $MOUNTPATH ) " echo $MOUNT if [ [ $MOUNT ] ] ; then echo "Fount the mount path ' $MOUNTPATH ' as ' $MOUNT '" else echo "Could not find the mount path $MOUNTPATH " fi VOLID = " $( sudo nvme id-ctrl -v $MOUNT | grep "sn" | cut -d ":" -f2 | tr " vol" "vol-" ) " aws ec2 create-tags --resources $VOLID --tags Key = os-drive-letter,Value = $MOUNT Key = os-volume-name,Value = $MOUNTLABEL echo "On disk $MOUNT created $MOUNTLABEL tag for $VOLID " } tag_volume "/mnt/mdf" "sqldata" tag_volume "/mnt/ldf" "sqllogs" tag_volume "/mnt/tempdb" "tempdb" tag_volume "/" "root"

结论

我能够结合几个不同的流程来获取所需的信息,然后相应地标记附加的 EBS 卷。 tag_volume脚本块是可重复的,可以轻松指定一些变量并让它完成工作;保持我的整体脚本和流程更短。


通过电子邮件回复

原文: https://claytonerrington.com/blog/tagging-aws-ebs-volumes/?utm_source=rss

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abdisalan Mohamud
  • Addy Osmani
  • Aeon
  • Ahoy There! on THT's den
  • Alec Muffett
  • Andreas
  • anhvn
  • Ankaph
  • Annie
  • Armin Ronacher
  • Ask Hacker News Weekly
  • Astro Blog
  • Austin White
  • Backlinko
  • Better Dev Link
  • Building Pika Out Loud
  • Caleb Hearth
  • Cédric Aellen
  • Chip Huyen
  • Colossal
  • Cooltools by KK
  • CoRecursive
  • Craig Mod
  • Curt Merrill
  • Dan Abramov's Overreacted Blog RSS Feed
  • Daniel Lemire
  • Daniel Stenberg
  • Daring Fireball
  • David H
  • David Heinemeier Hansson
  • Dayu | 大宇
  • Ed Zitron
  • Ersei
  • Ersei 'n Stuff
  • Evan Martin
  • First Page Sage
  • Founder Weekly
  • FuzzyGrim
  • Gabriel
  • Good Enough
  • Gregory Hammond
  • Habib
  • How They Make Money
  • I Love Charts
  • Ian Betteridge
  • Ivaylo Durmonski
  • Jason Kottke
  • Jason Kratz
  • Jeff Perry
  • John D. Cook
  • Jonas Hietala
  • Jonathan Snook
  • jwb
  • Kevin Kelly
  • Kevin Yank
  • Kirsty
  • Kush
  • Loris Cro
  • Maarten van Gompel
  • Manas J. Saloi
  • Mandy Brown
  • Matt Fantinel
  • Matt Mullenweg
  • Mere Civilian
  • Ness Labs
  • News Letter
  • Nicholas Carlini
  • Nicolas F. R. A. Prado
  • Niko
  • Nir Eyal
  • Noah Smith
  • Pedro Lopes
  • Positive News
  • Predrag Gruevski
  • Rachel Kroll
  • Recomendo by KK
  • rendezvous with cassidoo
  • Rest of World
  • Ruben Schade
  • Scott Galloway
  • Sébastien Etter
  • SEMrush Blog
  • Seth Godin
  • Shariq Raza Qadri
  • Simon Willison
  • Six Colors
  • Slashdot
  • Spectre Collie
  • Spyglass
  • storytelling with data
  • Streamline Blog
  • Tableau Blog
  • tekphloyd
  • The Alchemy of Money
  • The Independent Variable
  • The Marginalian
  • thriftmac
  • Tim Bray
  • Tim Ferriss
  • Tim Kellogg
  • TLDR
  • Topslakr
  • Track Awesome list
  • Trump
  • Victor Kropp
  • Vincent Ritter
  • Vox
  • Westenberg
  • Xe Iaso
  • xkcd
  • Yuri Cunha
  • Zarar
  • 未分类
  • 英文媒体
  • 英文推特
  • 英文独立博客
  • 读写错误
©2026 搞英语 → 看世界 | Design: Newspaperly WordPress Theme