aboutsummaryrefslogtreecommitdiff
path: root/share/hydractl/provision
diff options
context:
space:
mode:
Diffstat (limited to 'share/hydractl/provision')
-rwxr-xr-xshare/hydractl/provision19
1 files changed, 16 insertions, 3 deletions
diff --git a/share/hydractl/provision b/share/hydractl/provision
index 309e430..1c1c9b9 100755
--- a/share/hydractl/provision
+++ b/share/hydractl/provision
@@ -48,9 +48,22 @@ read answer
# Create volumes.
echo "Creating the needed disk volumes..."
-pvcreate "$device"3
-vgcreate $vg "$device"3
-lvcreate -L20G -n root $vg
+
+if ! pvdisplay "$device"3 &> /dev/null; then
+ echo "Creating physical volume..."
+ pvcreate "$device"3
+fi
+
+if ! vgdisplay $vg &> /dev/null; then
+ echo "Creating volume group..."
+ vgcreate $vg "$device"3
+fi
+
+if ! lvdisplay $vg/root &> /dev/null; then
+ echo "Creating logical volume..."
+ lvcreate -L20G -n root $vg
+fi
+
vgchange -a y $vg
# Garbage.