Question

I have managed to create an NFS server on my Xenserver and mounted it on my Cloudstack 4.4! However i realise the size of my primary storage and secondary storage is only 4gb when i have assigned 250gb to my Xenserver VM (local storage)

May i know why and how can i increase the space?

Picture link

http://115.66.5.90/manage/shares/Torrents/why%204gb%20size.png?__c=2533372089363723488

Edit on 6/8/2014-------------

Hello Miguel,I have done your steps as seen but still stuck. (Xen was given 100GB)

pvs

PV VG mt Attr PSize PFree

/dev/sda3 VG_XenStorage- lvm2 a- 91.99G 91.98G

Then i gdisk /dev/sda3 as this 91GB is the free storage i have after installing Xen on my VM.

I followed all your steps that you have written below.

Having this result when i PVS again

[root@xenserver-bpqbdmrk ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 lvm2 a- 4.00G 4.00G

However when i ran vgdisplay -c

[root@xenserver-bpqbdmrk ~]# vgdisplay -c


  No volume groups found

fdisk -l

Disk /dev/sda: 107.3 GB, 107374182400 bytes
256 heads, 63 sectors/track, 13003 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13004   104857599+  ee  EFI GPT


[root@xenserver-bpqbdmrk ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             4.0G  1.9G  2.0G  49% /
none                  381M   16K  381M   1% /dev/shm
/opt/xensource/packages/iso/XenCenter.iso
                       52M   52M     0 100% /var/xen/xc-install
172.16.109.11:/export/primary/97cffd9a-acfe-0c71-91d5-b93e58f27462
                      4.0G  1.9G  2.0G  49% /var/run/sr-mount/97cffd9a-acfe-0c71-91d5-b93e58f27462

May i know why i do not have a volume group even though i have a storage repo of 4GB on my NFS. And why does my /dev/sda2 has only 4Gb too

More information about my testing Cloud. i am running a VM of 100GB.

wanted a primary storage and secondary storage combine of 91Gb.

Command (? for help): p
Disk /dev/sda: 209715200 sectors, 100.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 7AE0B6EE-99F4-44F4-A9F0-5140B14DCC32
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 209715166
Partitions will be aligned on 2048-sector boundaries
Total free space is 6042 sectors (3.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         8388641   4.0 GiB     0700  
   2         8390656        16777249   4.0 GiB     0700  
   3        16779264       209715166   92.0 GiB    8E00  

Command (? for help): 
Was it helpful?

Solution

When you logon to your XenServer management console you are actually logging on to a VM (the one running on Dom0). This VM is the one that controls the whole hypervisor.

Only some of the resources you provided to your XenServer are used by the management VM in Dom0. The rest is used for the other VMs you might spin-up on the XenServer. That goes for CPU, memory and disk space.

You need to check if the XenServer local storage logical volume already contains the remaining space of your disk. To do that type pvs on the terminal to list all LVM physical devices. The entry you are looking for starts with "VG_XenStorage-".

You should see the disk partition that is attached to that physical device, the total size and the free space.

If the local storage logical volume doesn't contain the extra space already you need to add it yourself by partitioning the space if it isn't already. Assuming your disk device is /dev/sda, type gdisk /dev/sda then at the prompt type pto print the partition table. If you have one too many (in relation to what is mounted) then you have a partition already available to use. If you have 2x 4GB partitions and one larger (taking the remaining space) the last is the one you want to use. If not, then you need to create one at the end of the disk. Still in gdisk type:

  1. nto create a new partition, then chose a number for it (the next available int),
  2. push enter twice to make it start at the next available disk block and end at the last,
  3. type 8e00 to select the "Linux LVM" partition type
  4. type w to write the new partition table

At this point you've either created a new partition or you had one already available. I'm assuming /dev/sda3. Now you need to create a physical volume and attach it to the logical volume XenServer uses for local storage.

  1. pvcreate /dev/sda3 to create a new physical volume
  2. vgextend $(vgdisplay -c | cut -d : -f 1) /dev/sda3

The $(vgdisplay ...) bit is to find out the name of the volume group you will attach the physical device to.

If you do pvs again you should see that the local storage logical volume has now more space available.

Edit: As mentioned before XenServer can manage local storage for VMs using a Storage Repository (SR). When this is the case, then there is no need to create a primary storage directory for holding VM's storage.

As for secondary storage, there will still be a need for it. Secondary storage is where CloudStack looks for the templates (disk images) that it uses to boot the System VMs. System VMs are the VMs CloudStack uses for managing the cloud environment (e.g. virtual routers or console proxies). The hypervisors under CloudStack (in this case a XenServer) must be able to reach the secondary storage, and one of the most common ways of achieving this is to make the secondary storage available via NFS. Whether the NFS export is available from the hypervisor itself or some other reachable machine, that doesn't really matter.

Getting back to the setup of the question, the disk of the XenServer would have to be partitioned in such a way that one partition would be available for primary storage (managed by XenServer via a SR) and another one for secondary storage (with a file system, mounted on the locally and made available ad an NFS export).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top