Re: Different geoms for an rbd block device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 31, 2012 at 1:07 AM, Josh Durgin <josh.durgin@xxxxxxxxxxx> wrote:
> On 10/28/2012 03:02 AM, Andrey Korolyov wrote:
>>
>> Hi,
>>
>> Should following behavior considered to be normal?
>>
>> $ rbd map test-rack0/debiantest --user qemukvm --secret qemukvm.key
>> $ fdisk /dev/rbd1
>>
>> Command (m for help): p
>>
>> Disk /dev/rbd1: 671 MB, 671088640 bytes
>> 255 heads, 63 sectors/track, 81 cylinders, total 1310720 sectors
>> Units = sectors of 1 * 512 = 512 bytes
>> Sector size (logical/physical): 512 bytes / 512 bytes
>> I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes
>> Disk identifier: 0x00056f14
>>
>>       Device Boot      Start         End      Blocks   Id  System
>> /dev/rbd1p1            2048       63487       30720   82  Linux swap /
>> Solaris
>> Partition 1 does not start on physical sector boundary.
>> /dev/rbd1p2           63488     1292287      614400   83  Linux
>> Partition 2 does not start on physical sector boundary.
>>
>> Meanwhile, in the guest vm over same image:
>>
>> fdisk /dev/vda
>>
>> Command (m for help): p
>>
>> Disk /dev/vda: 671 MB, 671088640 bytes
>> 16 heads, 63 sectors/track, 1300 cylinders, total 1310720 sectors
>
>
> I'm guessing the reported number of cylinders is the issue?
> You can control that with a qemu option. I think
>
> -drive ...cyls=81
>
> will do it. You can also set the min/opt i/o sizes via
> qemu device properties min_io_size and opt_io_size in
> the same way you can adjust discard granularity:
>
> http://ceph.com/docs/master/rbd/qemu-rbd/#enabling-discard-trim
>
> Unfortunately min_io_size is a uint16 in qemu, so it won't
> be able to store 4194304.
>
>
>> Units = sectors of 1 * 512 = 512 bytes
>> Sector size (logical/physical): 512 bytes / 512 bytes
>> I/O size (minimum/optimal): 512 bytes / 512 bytes
>> Disk identifier: 0x00056f14
>>
>>     Device Boot      Start         End      Blocks   Id  System
>> /dev/vda1            2048       63487       30720   82  Linux swap /
>> Solaris
>> /dev/vda2           63488     1292287      614400   83  Linux
>>
>> The real pain starts when I try to repartition disk from after 'rbd
>> map' using its geometry - it simply broke partition layout, for
>> example, first block offset moves from 2048b to 8192. Of course I can
>> specify geometry by hand, but before that I may need to start vm at
>> least once or do something else which will print me out actual layout.
>>
>> Thanks!
>
>
> Setting the geometry at qemu boot time should work, and is a bit easier.
> qemu actually has code to try to guess disk geometry from a partition
> table, but perhaps it doesn't support the format you're using.
>
> Josh

So preferable geometry is one provided by kernel client, right? Is
there any advantages of using large blocks for I/O with discard(ofc,
not right now, I`ll wait for virtio bus support :) )?  At first sight,
TCP transfers should not differ by resulting speed on typical
workloads, but only on exotic ones - like delayed commit on the guest
FS + intensive writes.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux