-
-
Notifications
You must be signed in to change notification settings - Fork 604
Managing your storage
Raphael Carvalho edited this page Feb 12, 2015
·
35 revisions
This section is about explaining how to manage your storage using ZFS features, the default disk-based file system used on OSv.
ZFS and ZPOOL command-line tools are available on OSv, then if you're familiar with them, managing the storage will be easier. WARNING: Some options from these commands may not be available yet. It would be nice to wrap these commands later on, so as not to make storage management file system dependent. We wouldn't like to see users being limited by their lack of ZFS knowledge.
zpool example: Getting I/O statistics from your pools:
$ /PATH_TO_OSV/scripts/run.py -e 'zpool.so iostat'
OSv v0.17-11-ge281199
eth0: 192.168.122.15
capacity operations bandwidth
pool alloc free read write read write
---------- ----- ----- ----- ----- ----- -----
data 155K 9.94G 376 513 8.90M 3.59M
osv 16.8M 9.92G 304 148 12.1M 798K
---------- ----- ----- ----- ----- ----- -----
zfs example: Listing available file systems:
$ /PATH_TO_OSV/scripts/run.py -e 'zfs.so list'
OSv v0.17-11-ge281199
eth0: 192.168.122.15
NAME USED AVAIL REFER MOUNTPOINT
data 106K 9.78G 31K /data
osv 16.6M 9.77G 32K /
osv/zfs 16.4M 9.77G 16.4M /zfs
- Create the image for the additional vdisk using qemu-img:
$ qemu-img create -f qcow2 image.qcow2 10G
- Change run.py script (locate it at /PATH_TO_OSV/scripts/run.py) to initiate OSv instance with the additional vdisk:
- Change the file parameter from the added line accordingly.
diff --git a/scripts/run.py b/scripts/run.py
index cc8cfda..58b6392 100755
--- a/scripts/run.py
+++ b/scripts/run.py
@@ -116,6 +116,7 @@ def start_osv_qemu(options):
args += [
"-device", "virtio-blk-pci,id=blk0,bootindex=0,drive=hd0,scsi=off",
"-drive", "file=%s,if=none,id=hd0,aio=native,cache=%s" % (options.image_file, cache)]
+ args += [ "-drive", "file=/PATH/TO/IMAGE/image.qcow2,if=virtio"]
if options.no_shutdown:
args += ["-no-reboot", "-no-shutdown"]
- Create the pool by executing the following command on your host's terminal:
- /dev/vblk1 is the device associated with your additional vdisk. The second additional vdisk would be /dev/vblk2, and so on.
$ /PATH_TO_OSV/scripts/run.py -e 'zpool.so create data /dev/vblk1'
- Also on host's terminal, check that the additional file system was created successfully:
$ /PATH_TO_OSV/scripts/run.py -e 'zfs.so list'
OSv v0.17-11-ge281199
eth0: 192.168.122.15
NAME USED AVAIL REFER MOUNTPOINT
data 92.5K 9.78G 31K /data
osv 16.6M 9.77G 32K /
osv/zfs 16.4M 9.77G 16.4M /zfs
- From there, /data is available for to be used by the application, and it will be mounted automatically. Enjoy! :-)
TODO: There is a lot to be done on this page, explaining how to create a new file system on additional ZFS pool was the starting point.