On 10/20/2011 03:18 PM, Gerald Brandt wrote: > Hi, > > Are there any 'optimal' settings for XFS formatting under GlusterFS? The storage will be used for Virtual Disk storage, virtual disk size from 8GB to 100 GB in size. > > One of the VM's (separate gluster volume) will be running MSSQL server (4K reads and writes). The other will be running file servers, etc). hi, Why do you use VM images for these IO demanding tasks? Anyway, we use this script: #!/bin/bash BLOCKSIZE=4096 # Make sure this is in bytes CHUNKSIZE=128 # Make sure this is in KiB NUMSPINDLES=8 RAID_TYPE=6 RAID_DEVICE_NAME="/dev/sda4" # Specify device name for your RAID device FSLABEL="gluster" # specify filesystem label for generating mkfs line here case "$RAID_TYPE" in 0) RAID_DISKS=${NUMSPINDLES}; ;; 1) RAID_DISKS=${NUMSPINDLES}; ;; 10) RAID_DISKS=${NUMSPINDLES}; ;; 5) RAID_DISKS=`echo "${NUMSPINDLES} - 1" | bc`; ;; 6) RAID_DISKS=`echo "${NUMSPINDLES} - 2" | bc`; ;; *) echo "Please specify RAID_TYPE as one of: 0, 1, 10, 5, or 6." exit ;; esac SUNIT=`echo "${CHUNKSIZE} * 1024 / 512" | bc` SWIDTH=`echo "$RAID_DISKS * ${SUNIT}" | bc` echo "System blocksize=${BLOCKSIZE}" echo "Chunk Size=${CHUNKSIZE} KiB" echo "NumSpindles=${NUMSPINDLES}" echo "RAID Type=${RAID_TYPE}" echo "RAID Disks (usable for data)=${RAID_DISKS}" echo "Calculated values:" echo "Stripe Unit=${SUNIT}" echo -e "Stripe Width=${SWIDTH}\n" echo "mkfs line:" echo -e "mkfs.xfs -b size=${BLOCKSIZE} -d sunit=${SUNIT},swidth=${SWIDTH} -L ${FSLABEL} ${RAID_DEVICE_NAME}\n" echo "mount line:" echo -e "mount -o remount,sunit=${SUNIT},swidth=${SWIDTH}\n" echo "Add these options to your /etc/fstab to make permanent:" echo "sunit=${SUNIT},swidth=${SWIDTH}" Corresponding fstab: /dev/sda4 /mnt/brick1 xfs delaylog,sunit=256,swidth=1536,logbufs=8,logbsize=256k,noatime,nodiratime 0 0 tamas