On Sat, Mar 31, 2018 at 11:09 PM, Ning Yao <zay11022@xxxxxxxxx> wrote: > Thanks, it sounds like it is a good way to do the preparation of the > device partition and LV in the orchestration tools. Yes, I think this is the best path. > So in this way, I think the logic of creating LV with lvm-cache also > suitable to do by uses, not in ceph-volume, right? it seems also > oversimplifying. And for simplicity, we just need to create LV with > lvmcache and pass to ceph-volume. As long as you can produce an LV, ceph-volume will work. We don't test it currently, but we've tried it out with dmcache/lvmcache without issues. Now, ceph-ansible support for LV creation is planned, so that may help you out if we fit your use cases. > Regards > Ning Yao > > > 2018-03-31 20:48 GMT+08:00 Alfredo Deza <adeza@xxxxxxxxxx>: >> On Sat, Mar 31, 2018 at 2:31 AM, Ning Yao <zay11022@xxxxxxxxx> wrote: >>> Hi, Sage >>> >>> Although we have ceph-volume now, ceps-volume cannot work as expected >>> in most of scenarios. For example: >>> >>> when we use: >>> >>> ceph-volume lvm prepare --filestore --data /dev/sda --journal /dev/sdl1 or >>> ceph-volume lvm prepare --bluestore --data /dev/sda --block.db /dev/sdl1 >>> >>> 1. we need to create a Physical Volume for /dev/sda before it can be >>> used. and ceph-volume does not help us to do that >> >> Not sure what you mean by this. In that scenario, ceph-volume will use >> /dev/sda and convert it to a single logical volume for "data". This is >> even >> how our tests work. If you are hitting errors, please give us some >> examples on how to replicate. >> >>> 2. the params of --journal or --block.db must be a partitioned disk >>> such as /dev/sdl1 or /dev/sdl1, and cannot be a raw device without >>> partition -- /dev/sdl like ceps-disk does and automatically create the >>> partition by using sgdisk. >> >> This is partially true. It can be a partition *or* a logical volume. >> ceph-volume will not create partitions for a user because >> this has been one of the most problematic pain points in ceph-disk. >> Creating a partition is simple, but programmatically understanding >> how to do partitions in any scenario that users throw at us is asking >> to go back to ceph-disk issues. >> >> ceph-volume is currently tremendously robust and I am hesitant to add >> this kind of helpfulness that has brought us issues before. >> >>> 3. we must explicitly use --journal or --block.db, --block.wal to tell >>> ceph-volume where to put the data. It cannot be automatically >>> partition or create multiple logical volumes for different usage, such >>> as >>> lvcreate --size 100M VG -n odd-block-meta-{uuid} >>> lvcreate --size {bluestore_block_db_size} VG -n osd-block-db-{uuid} >>> lvcreate --size {bluestore_block_wal_size} VG -n osd-block-wal-{uuid} >>> lvcreate -l 100%FREE VG -n osd-block-{uuid} (use the left space for data) >>> >> >> Again, this is oversimplifying. Creating an LV can be done in dozens >> of ways, not just this one. The code to support this deployment >> complexity >> would not be a good return-over-investment. >> >> You can just specify the data device and ceph-volume will create a >> full bluestore OSD for you, and yes, it will want to know what is your >> wal or db device >> if you want to use one. >> >> >>> it seems now hard to switch to ceph-volume from ceps-disk. And if >>> though, we need to do much extra work in ceph-ansible and help to >>> prepare all the thing above. so is there any plan to enhance the >>> function, or design spec of ceph-volume? and we may help on this. >> >> I would suggest investing in a configuration management system that >> can help automate all the use cases you need. ceph-ansible can do a >> bit of this already for you, and we are planning >> on adding more support to help out creating LVs for a user. >> >> *However*, even on ceph-ansible, I am going to push towards a >> simplistic approach, and not support all the various different ways >> you can create a logical volume. This will no doubt leave >> a lot of use cases out of luck, but it is a good way to provide >> robustness on the tooling on the things we know will work right. >> >> If using ceph-ansible, it isn't hard to pre setup your machines with >> the logical volume creation you have used as examples here. >>> >>> >>> Regards >>> Ning Yao >>> -- >>> 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 -- 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