def setup_fs(self): sc = settings.cluster fs = sc.get('fs') mkfs_opts = sc.get('mkfs_opts', '') mount_opts = sc.get('mount_opts', '') if fs == '': settings.shutdown("No OSD filesystem specified. Exiting.") mkfs_threads = [] for device in xrange(0, sc.get('osds_per_node')): osds = settings.getnodes('osds') common.pdsh( osds, 'sudo umount /dev/disk/by-partlabel/osd-device-%s-data' % device).communicate() common.pdsh( osds, 'sudo rm -rf %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() common.pdsh( osds, 'sudo mkdir -p -m0755 -- %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() if fs == 'tmpfs': logger.info('using tmpfs osds, not creating a file system.') elif fs == 'zfs': logger.info('ruhoh, zfs detected. No mkfs for you!') common.pdsh(osds, 'sudo zpool destroy osd-device-%s-data' % device).communicate() common.pdsh( osds, 'sudo zpool create -f -O xattr=sa -m legacy osd-device-%s-data /dev/disk/by-partlabel/osd-device-%s-data' % (device, device)).communicate() common.pdsh( osds, 'sudo zpool add osd-device-%s-data log /dev/disk/by-partlabel/osd-device-%s-zil' % (device, device)).communicate() common.pdsh( osds, 'sudo mount %s -t zfs osd-device-%s-data %s/osd-device-%s-data' % (mount_opts, device, self.mnt_dir, device)).communicate() else: # do mkfs and mount in 1 long command # alternative is to wait until make_osds to mount it mkfs_cmd = 'sudo sh -c "mkfs.%s %s /dev/disk/by-partlabel/osd-device-%s-data' % ( fs, mkfs_opts, device) mkfs_cmd += '; mount %s -t %s /dev/disk/by-partlabel/osd-device-%s-data %s/osd-device-%s-data' % ( mount_opts, fs, device, self.mnt_dir, device) # make a symlink for block if using newstore+block if self.newstore_block: mkfs_cmd += ' ; sudo ln -s /dev/disk/by-partlabel/osd-device-%s-block %s/osd-device-%s-data/block' % ( device, self.mnt_dir, device) mkfs_cmd += '"' mkfs_threads.append((device, common.pdsh(osds, mkfs_cmd))) for device, t in mkfs_threads: # for tmpfs and zfs cases, thread list is empty logger.info('for device %d on all hosts awaiting mkfs and mount' % device) t.communicate()
def setup_fs(self): sc = settings.cluster fs = sc.get('fs') mkfs_opts = sc.get('mkfs_opts', '') mount_opts = sc.get('mount_opts', '') if fs == '': settings.shutdown("No OSD filesystem specified. Exiting.") for device in xrange (0,sc.get('osds_per_node')): osds = settings.getnodes('osds') common.pdsh(osds, 'sudo umount /dev/disk/by-partlabel/osd-device-%s-data' % device).communicate() common.pdsh(osds, 'sudo rm -rf %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() common.pdsh(osds, 'sudo mkdir -p -m0755 -- %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() if fs == 'tmpfs': logger.info('using tmpfs osds, not creating a file system.') elif fs == 'zfs': logger.info('ruhoh, zfs detected. No mkfs for you!') common.pdsh(osds, 'sudo zpool destroy osd-device-%s-data' % device).communicate() common.pdsh(osds, 'sudo zpool create -f -O xattr=sa -m legacy osd-device-%s-data /dev/disk/by-partlabel/osd-device-%s-data' % (device, device)).communicate() common.pdsh(osds, 'sudo zpool add osd-device-%s-data log /dev/disk/by-partlabel/osd-device-%s-zil' % (device, device)).communicate() common.pdsh(osds, 'sudo mount %s -t zfs osd-device-%s-data %s/osd-device-%s-data' % (mount_opts, device, self.mnt_dir, device)).communicate() else: common.pdsh(osds, 'sudo mkfs.%s %s /dev/disk/by-partlabel/osd-device-%s-data' % (fs, mkfs_opts, device)).communicate() common.pdsh(osds, 'sudo mount %s -t %s /dev/disk/by-partlabel/osd-device-%s-data %s/osd-device-%s-data' % (mount_opts, fs, device, self.mnt_dir, device)).communicate()
def setup_fs(self): sc = settings.cluster fs = sc.get('fs') mkfs_opts = sc.get('mkfs_opts', '') mount_opts = sc.get('mount_opts', '') if fs == '': settings.shutdown("No OSD filesystem specified. Exiting.") mkfs_threads = [] for device in xrange (0,sc.get('osds_per_node')): osds = settings.getnodes('osds') common.pdsh(osds, 'sudo umount /dev/disk/by-partlabel/osd-device-%s-data' % device).communicate() common.pdsh(osds, 'sudo rm -rf %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() common.pdsh(osds, 'sudo mkdir -p -m0755 -- %s/osd-device-%s-data' % (self.mnt_dir, device)).communicate() if fs == 'tmpfs': logger.info('using tmpfs osds, not creating a file system.') elif fs == 'zfs': logger.info('ruhoh, zfs detected. No mkfs for you!') common.pdsh(osds, 'sudo zpool destroy osd-device-%s-data' % device).communicate() common.pdsh(osds, 'sudo zpool create -f -O xattr=sa -m legacy osd-device-%s-data /dev/disk/by-partlabel/osd-device-%s-data' % (device, device)).communicate() common.pdsh(osds, 'sudo zpool add osd-device-%s-data log /dev/disk/by-partlabel/osd-device-%s-zil' % (device, device)).communicate() common.pdsh(osds, 'sudo mount %s -t zfs osd-device-%s-data %s/osd-device-%s-data' % (mount_opts, device, self.mnt_dir, device)).communicate() else: # do mkfs and mount in 1 long command # alternative is to wait until make_osds to mount it mkfs_cmd='sudo sh -c "mkfs.%s %s /dev/disk/by-partlabel/osd-device-%s-data ; ' % (fs, mkfs_opts, device) mkfs_cmd += 'mount %s -t %s /dev/disk/by-partlabel/osd-device-%s-data %s/osd-device-%s-data"' % (mount_opts, fs, device, self.mnt_dir, device) mkfs_threads.append((device, common.pdsh(osds, mkfs_cmd))) for device, t in mkfs_threads: # for tmpfs and zfs cases, thread list is empty logger.info('for device %d on all hosts awaiting mkfs and mount'%device) t.communicate()
def setup_fs(self): sc = settings.cluster fs = sc.get("fs") mkfs_opts = sc.get("mkfs_opts", "") mount_opts = sc.get("mount_opts", "") if fs == "": settings.shutdown("No OSD filesystem specified. Exiting.") for device in xrange(0, sc.get("osds_per_node")): osds = settings.getnodes("osds") common.pdsh(osds, "sudo umount /dev/disk/by-partlabel/osd-device-%s-data" % device).communicate() common.pdsh(osds, "sudo rm -rf %s/osd-device-%s-data" % (self.mnt_dir, device)).communicate() common.pdsh(osds, "sudo mkdir -p -m0755 -- %s/osd-device-%s-data" % (self.mnt_dir, device)).communicate() if fs == "tmpfs": print "using tmpfs osds, not creating a file system." elif fs == "zfs": print "ruhoh, zfs detected. No mkfs for you!" common.pdsh(osds, "sudo zpool destroy osd-device-%s-data" % device).communicate() common.pdsh( osds, "sudo zpool create -f -O xattr=sa -m legacy osd-device-%s-data /dev/disk/by-partlabel/osd-device-%s-data" % (device, device), ).communicate() common.pdsh( osds, "sudo zpool add osd-device-%s-data log /dev/disk/by-partlabel/osd-device-%s-zil" % (device, device), ).communicate() common.pdsh( osds, "sudo mount %s -t zfs osd-device-%s-data %s/osd-device-%s-data" % (mount_opts, device, self.mnt_dir, device), ).communicate() else: common.pdsh( osds, "sudo mkfs.%s %s /dev/disk/by-partlabel/osd-device-%s-data" % (fs, mkfs_opts, device) ).communicate() common.pdsh( osds, "sudo mount %s -t %s /dev/disk/by-partlabel/osd-device-%s-data %s/osd-device-%s-data" % (mount_opts, fs, device, self.mnt_dir, device), ).communicate()