在Hyper-V(VHDX)中的Linux guest虚拟机上优化XFS

在我们公司,我们使用Hyper-V(Windows Server 2012)pipe理程序和VM来在我们的数据中心中组织我们的公司内服务。 我应该为我们的主数据库(Postgresql)设置Ubuntu 12.04 LTS来宾。 我的系统pipe理员给了我一个SSH连接做虚拟机(Ubuntu已经在那里)。 磁盘是可dynamicresize的VHDX文件。 XFS文件系统有很多创build和安装选项。 我已经阅读了大量有关XFS可能性的资料,但是它们基本上是所谓的裸机准则(取决于RAID和磁盘参数以及物理布局)。 我不知道哪一个与我有关。 特别是有两件事困扰我:

  • 在VM环境中分区alignment是否重要? 我应该问我的系统pipe理员关于物理RAID参数(磁盘数量,条带大小)? 并根据他们设置我的XFS?
  • 分配组(AG)和xfs并行I / Ofunction 。 就我所理解的概念而言:我们将文件系统分为两部分,FS可以尝试执行两个并行的写入,如果它们进入两个不同的AG。 我真的可以实现dynamicresize的VHDXs,因为它不是真正的空间分割的物理设备?

由于虚拟化,我认为它真的是云计算。 我没有任何保证VHDX驻留的地方,还有多长时间(这是我的pipe理程序pipe理员的工作)。 所以,在Hyper-V环境下为DB设置存储空间时,也许我完全在看错误的问题? 如果是这样,你可以请我推荐我应该检查的主题

我知道你的后备存储可能会改变,你可能不了解底层硬件。 在虚拟环境中,以下对我来说是非常安全的:

今天,我的XFS创build和挂载选项如下所示:

mkfs.xfs -f -l size=256m,version=2 -s size=4096 /dev/sdX 

其中“sdX”是设备名称。 这是一个256兆字节的日志和一个4K的扇区大小。

安装选项通常是:

 noatime,logbufs=8,logbsize=256k,nobarrier 

那些没有访问时间,没有写入障碍,并且修改了日志缓冲区/块的大小。

使用现代操作系统,确保你的分区是alignment的。 使用fdisk ,将您的显示单位更改为扇区。 留意警告:

 WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). 

RHEL6下正确alignment的分区:

 Disk /dev/zd32: 644.2 GB, 644245094400 bytes 13 heads, 12 sectors/track, 8065969 cylinders, total 1258291200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 8192 bytes I/O size (minimum/optimal): 8192 bytes / 8192 bytes Disk identifier: 0x04d26b4d Device Boot Start End Blocks Id System /dev/zd32p1 2048 1258291199 629144576 83 Linux