Azure 子账号管理 Azure虚拟机挂载额外永久磁盘
为啥要给虚拟机加个‘私家仓库’?
嘿,朋友!你是不是也遇到过这种情况:虚拟机系统盘快爆了,上传个备份都得小心翼翼,生怕哪天‘啪’一下,数据全没了?别慌,今天咱就来给你的Azure VM加个‘私人储物间’——挂载额外永久磁盘!这玩意儿就像给你的服务器买个大衣柜,装得下更多宝贝,还不会影响主系统运行。走着,咱边唠嗑边操作,保证比吃火锅还轻松!
系统盘(通常是OS盘)就像你家的客厅,用来放日常用品和接待客人。但如果你还想放个冰箱、洗衣机,或者装修个书房,那就得单独找个房间了。额外磁盘就是这个‘房间’,专供数据存储,系统盘腾出空间,运行更流畅。而且,把数据和系统分开,万一系统崩了,数据还在,不用哭哭啼啼重装。这就像把贵重物品放在保险箱里,房子着火了,至少东西还在。
准备工作:别急着动手,先看看这些
磁盘类型选哪个?别踩坑!
Azure提供了好几种磁盘类型,SSD、HDD、超高速SSD等等。选错类型,可能钱花了但效果差,或者性能不够用。比如,数据库这种需要高频读写的,必须上SSD,尤其是Premium SSD,速度快、延迟低。如果是存视频、备份这种大文件,普通HDD也够用,成本还低。千万别图便宜买HDD去跑数据库,那体验,比骑自行车去参加F1还累!
检查虚拟机规格,别让‘小马’拉‘大车’
挂载磁盘前,得确认你的虚拟机规格是否支持。比如,某些小型VM可能限制最多挂载几块磁盘。就像你家的衣柜,架子数量有限,不能无节制地加。去Azure门户看看你的VM型号,查一下最大数据磁盘数。要是已经挂满,得先升级VM,不然只能忍痛删点旧东西。
准备工作清单,避免手忙脚乱
- 确认虚拟机状态:运行中或已停止都可以加磁盘,但挂载操作可能需要重启,所以提前安排好时间。
- 备份数据:虽然挂载磁盘一般不涉及系统盘,但安全第一,备份总没错。毕竟,谁也不想边装衣柜边把家烧了,对吧?
- 确定挂载点:比如/mnt/data,这个目录要提前建好。就像给新房间贴个标签‘仓库’,免得东西堆到处都是。
挂载磁盘实战:手把手教你‘装货’
通过Azure门户添加磁盘(详细步骤,带点幽默)
打开Azure门户,像打开外卖APP一样简单。找到你的虚拟机,点进去,左侧菜单找‘磁盘’,点击‘+ 添加数据磁盘’。这时候别急着狂点,先想想——我要多大?SSD还是HDD?别像买菜一样随便挑,得看用途。比如数据库这种高要求的,得选SSD;存个日志文件,HDD也够用。记住,选错了类型,以后可能要花更多钱补救,心疼!
在弹出的窗口里,填上磁盘大小,比如100GB。名字可以随便起,比如‘data-disk-01’,方便识别。选择存储类型,然后点击‘确定’。这时候系统会自动挂载,但别高兴太早,这只是Azure侧的操作,还得在系统里认出来。
命令行操作:CLI/PowerShell,适合‘极客玩家’
如果你是CLI党,可以用Azure CLI。先安装CLI,然后:
az vm disk attach --resource-group MyResourceGroup --vm-name MyVM --disk MyDataDisk --new --size-gb 100
或者PowerShell:
New-AzDiskConfig -Location "EastUS" -DiskSizeGB 100 -AccountType Premium_LRS -CreateOption Empty New-AzDisk -Disk $diskConfig -ResourceGroupName MyResourceGroup -DiskName MyDataDisk az vm disk attach ...
不过,命令行看起来高大上,但容易输错参数。建议新手还是用门户,像点外卖一样简单。万一输错了,可能把磁盘建到错误的位置,到时候找起来能让人头大。
挂载到系统,识别并格式化磁盘
SSH登录到你的虚拟机,用lsblk看看新磁盘叫啥名。通常会是/dev/sdb或者/dev/sdc这样的。这时候千万别手抖直接格式化,先确认下是不是新盘。别把系统盘给格式化了,那可就‘凉凉’了。用sudo mkfs -t ext4 /dev/sdb给它来个‘大扫除’,格式化成ext4。这一步就像给新仓库铺地板,干干净净才能装货。
接下来,创建挂载点,比如mkdir /mnt/data。然后挂载:sudo mount /dev/sdb /mnt/data。这时候,用df -h看看,是不是看到新磁盘已经挂上去了?恭喜!临时挂载成功,但重启后可能消失。别急,下面教你怎么让它永久生效。
持久化设置:别让数据‘短命’
修改fstab,让磁盘‘永不消失’
fstab文件就像是仓库的门牌号,写错了地址,系统找不到门,数据就‘迷路’了。编辑/etc/fstab,用vim或者nano:
sudo nano /etc/fstab
Azure 子账号管理 添加一行:/dev/sdb /mnt/data ext4 defaults 0 2
不过,这里有个坑:磁盘设备名可能在重启后变化,比如/dev/sdb变成/dev/sdc。所以更稳妥的做法是用UUID。先查UUID:
sudo blkid
输出里找对应磁盘的UUID,比如:/dev/sdb: UUID="1234-5678" ... 然后用这个UUID替换设备名:
UUID=1234-5678 /mnt/data ext4 defaults 0 2
保存后,用sudo mount -a测试一下,如果没报错,说明配置正确。重启服务器试试,数据还在吗?肯定在!这就像给仓库装了永久门牌,不管怎么搬家,系统都能找到。
权限管理,别把仓库钥匙乱扔
挂载后,记得设置权限。比如,如果应用是nginx运行的,那目录权限得给nginx用户:
sudo chown -R nginx:nginx /mnt/data
或者chmod 755,让其他用户也能读。别像把仓库钥匙随便扔地上,谁都能拿。权限设置不好,可能应用读写失败,甚至数据被乱改,想想都心慌。
Azure 子账号管理 常见问题及解决:踩过的坑,你也能避开
问题1:挂载后权限不对,应用读不了文件?
别急,给个chmod 755或者chown appuser:appgroup,权限问题就像钥匙没配好,门打不开,钥匙得对上锁孔。检查应用用户,设置正确权限,轻松搞定。
问题2:磁盘空间不够,怎么办?
别慌,可以扩展磁盘容量。不过得先在Azure里扩容,再在系统里用resize2fs调整。就像给衣柜加层隔板,先买材料再动手。在Azure门户里找到磁盘,编辑大小,比如从100GB扩容到200GB。然后SSH登录,用sudo resize2fs /dev/sdb。这样,空间就变大了,数据继续装。
问题3:挂载失败,提示‘wrong fs type’?
可能是格式化时选错了文件系统。比如用mkfs -t xfs,但fstab里写成ext4。这时候用sudo fsck修复,或者重新格式化。别急,先看错误提示,再查文档,就像修车得先听引擎声音再动手。
问题4:重启后磁盘不见了?
多半是fstab配置错了。检查UUID是否正确,或者设备名变化。用lsblk确认磁盘名,重新配置fstab。重启前先用mount -a测试,避免悲剧。
小贴士:多块磁盘怎么搞?
如果挂了多个磁盘,每个都要单独挂载到不同目录,比如/data1、/data2。别混在一起,免得找起来混乱。就像把衣服分类放进不同抽屉,找袜子不用翻遍整个衣柜。
结语
挂载额外磁盘其实很简单,只要按步骤来,避开那些小坑,分分钟搞定。记住,数据安全第一,系统盘和数据盘分开,既安全又高效。以后服务器再遇到‘内存不足’的警告,你就知道该加个‘储物间’了。别让数据在服务器里裸奔,给它个温暖的家吧!


