Class: Xen::Vbd
- Inherits:
-
Object
- Object
- Xen::Vbd
- Defined in:
- lib/xen/config_file.rb
Overview
Virtual Block Device
We’re only supporting Logical Volumes. No loopback devices.
wiki.xensource.com/xenwiki/XenStorage
Example
disk = [ 'phy:xendisks/example-disk,sda1,w',
'phy:xendisks/example-swap,sda2,w',
'phy:assets/example-assets,sdb1,w' ]
Instance Attribute Summary collapse
-
#domu ⇒ Object
Returns the value of attribute domu.
-
#mode ⇒ Object
Returns the value of attribute mode.
-
#name ⇒ Object
Returns the value of attribute name.
-
#volume_group ⇒ Object
Returns the value of attribute volume_group.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name, volume_group, domu, mode = 'w') ⇒ Vbd
constructor
A new instance of Vbd.
- #path ⇒ Object
- #size ⇒ Object
- #to_str ⇒ Object
Constructor Details
#initialize(name, volume_group, domu, mode = 'w') ⇒ Vbd
Returns a new instance of Vbd.
135 136 137 |
# File 'lib/xen/config_file.rb', line 135 def initialize(name, volume_group, domu, mode='w') @name, @volume_group, @domu, @mode = name, volume_group, domu, mode end |
Instance Attribute Details
#domu ⇒ Object
Returns the value of attribute domu.
134 135 136 |
# File 'lib/xen/config_file.rb', line 134 def domu @domu end |
#mode ⇒ Object
Returns the value of attribute mode.
134 135 136 |
# File 'lib/xen/config_file.rb', line 134 def mode @mode end |
#name ⇒ Object
Returns the value of attribute name.
134 135 136 |
# File 'lib/xen/config_file.rb', line 134 def name @name end |
#volume_group ⇒ Object
Returns the value of attribute volume_group.
134 135 136 |
# File 'lib/xen/config_file.rb', line 134 def volume_group @volume_group end |
Class Method Details
.from_str(value) ⇒ Object
139 140 141 142 143 |
# File 'lib/xen/config_file.rb', line 139 def self.from_str(value) dom0, domu, mode = value.split(',') volume_group, name = dom0.split(/[\/:]/).slice(-2, 2) new(name, volume_group, domu, mode) end |
Instance Method Details
#path ⇒ Object
149 150 151 |
# File 'lib/xen/config_file.rb', line 149 def path "/dev/#{volume_group}/#{name}" end |
#size ⇒ Object
145 146 147 |
# File 'lib/xen/config_file.rb', line 145 def size Xen::Command.lv_size(@volume_group, @name) end |
#to_str ⇒ Object
153 154 155 |
# File 'lib/xen/config_file.rb', line 153 def to_str "phy:#{volume_group}/#{name},#{domu},#{mode}" end |