我使用Azure基础架构来托管Django / Postgresql应用程序。应用程序和数据库位于不同的VM上。每个VM都有Ubuntu 14.04,它是经典风格。
我一直在使用操作系统磁盘存储数据库(容量:30GB)。在我的数据库规模很小的早期,这很好。但现在,走出磁盘空间已成为一个真正的危险。
通过什么步骤,我可以为数据库VM获得更多存储空间。此外,我需要执行哪些步骤来将postgresql DB移动到这个新购买的存储空间?
我想避免停机或数据丢失,并且成为偶然的DBA,会喜欢以初学者可理解的术语解释的万无一失的步骤。提前致谢!
更新:
安装磁盘后,步骤需要:
修改data_directory
中的/etc/postgresql/9.3/main/postgresql.conf
以指向新位置(例如/home/data/postgresql/9.3/main
)
通过/home/data
sudo rsync -av /var/lib/postgresql /home/data
通过sudo /etc/init.d/postgresql restart
注意:如果附加存储安装在/home/data
答案 0 :(得分:2)
目前,只有S系列虚拟机(如Ds,FS)可以添加SSD磁盘。您可以将SSD磁盘连接到新Azure门户上的经典VM。请参考以下步骤:
1.创建一个新的经典存储帐户(Premium)。如果您有高级存储帐户,则无法创建它。
2.在新的Azure门户上安装SSD磁盘。
3.Type:Select Premium (SSD)
位置Select your storage account
连接新数据磁盘后,您需要创建文件系统并装入磁盘。假设您正在使用ext4
文件系统,以下是如何继续:
sudo mkfs.ext4 /dev/sdc
mkdir -p /home/data
mount /dev/sdc /home/data
df -h #to view the attached disk
您显然可以将其安装到不同于/home/data
的位置。
接下来,要确保在系统重新引导时重新装入数据驱动器,请执行以下操作:
sudo -i blkid #get uuid for the relevant disk just added
sudo nano /etc/fstab
然后在文件末尾添加以下内容:
UUID=<uuid> /home/data ext4 defaults,nofail 1 2
E.g。它可能是
UUID=753a5b1b-4461-74d5-f6e3-27e9ff3b6c56 /home/data ext4 defaults,nofail 1 2
请注意,/home/data
是您将磁盘装入的驱动器,因此请根据需要进行更改。
答案 1 :(得分:0)
首先,尝试将经典 VM迁移到ARM VM。迁移步骤如下; https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-ps-migration-classic-resource-manager
这些步骤似乎很长,但不如此困难或痛苦。将classic迁移到ARM是可选的,但强烈建议使用它,因为它提供了更加宏大和灵活的资源管理,包括安全配置。
然后,(1)将额外的磁盘添加到VM,(2)将安装的磁盘设置到数据库存储。
(1)向VM添加额外的磁盘:不需要停机时间; https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-attach-disk-portal?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json
(2)安装postgreSQL不在Azure相关问题中,所以我将省略答案。