Skip to content

Commit 6fe605f

Browse files
committed
minor cleanup; externalize more LVM params; clarify strings
1 parent 5211060 commit 6fe605f

File tree

3 files changed

+48
-30
lines changed

3 files changed

+48
-30
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
# srv-ctl
1+
# srv-ctl
2+
3+
Small utility to manage home server services dependant on encrypted storage.

config.local.template

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
11
# -----------------------------------------------------------------------------
2-
# Storage device for active working data
2+
# Local storage device for active working data (i.e. DBs, logs, etc.)
33
# -----------------------------------------------------------------------------
44

5-
readonly ACTIVE_DATA_UUID="DISK_Y_UUID" # Reported by: `sudo blkid /dev/<device>`
6-
readonly ACTIVE_DATA_MAPPER="SSD_EXT"
5+
readonly ACTIVE_DATA_UUID="DISK_X_UUID" # Reported by: `sudo blkid /dev/<device>`
6+
readonly ACTIVE_DATA_MAPPER="ext_ssd"
77
readonly ACTIVE_DATA_MOUNT="srv_rapid_storage"
88

9+
readonly ACTIVE_DATA_LVM_NAME="logic_volume_name" # set to "none" if not used
10+
readonly ACTIVE_DATA_LVM_GROUP="logic_volume_group" # set to "none" if not used
11+
912
# -----------------------------------------------------------------------------
10-
# Storage device for data at rest
13+
# Local storage device for data at rest
1114
# -----------------------------------------------------------------------------
1215

13-
readonly STORAGE_DATA_LVM_NAME="logic_volume_name" # set to "none" if not used
14-
readonly STORAGE_DATA_LVM_GROUP="logic_volume_group" # set to "none" if not used
15-
1616
readonly STORAGE_DATA_KEY_FILE="mass_storage_key_file_path"
1717

18-
readonly STORAGE_DATA_UUID="DISK_X_UUID" # Reported by: `sudo blkid /dev/<device>`
19-
readonly STORAGE_DATA_MAPPER="HDD_EXT"
18+
readonly STORAGE_DATA_UUID="DISK_Y_UUID" # Reported by: `sudo blkid /dev/<device>`
19+
readonly STORAGE_DATA_MAPPER="ext_hdd"
2020
readonly STORAGE_DATA_MOUNT="srv_mass_storage"
2121

22+
readonly STORAGE_DATA_LVM_NAME="logic_volume_name" # set to "none" if not used
23+
readonly STORAGE_DATA_LVM_GROUP="logic_volume_group" # set to "none" if not used
24+
2225
# -----------------------------------------------------------------------------
23-
# LAN storage for data at rest
26+
# Network storage for data at rest
2427
# -----------------------------------------------------------------------------
2528

2629
readonly NETWORK_SHARE_PROTOCOL="cifs" # set to "none" if network share is not used

srv-ctl.sh

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,28 @@ function unmount_device() {
165165
fi
166166
}
167167

168+
function open_device() {
169+
local l_mount=$1
170+
local l_mapper=$2
171+
local l_lvm_name=$3
172+
local l_lvm_group=$4
173+
local l_uuid=$5
174+
local l_key_file=$6
175+
176+
activate_lvm "$l_lvm_name" "$l_lvm_group"
177+
unlock_device "$l_uuid" "$l_mapper" "$l_key_file"
178+
mount_device "$l_mapper" "$l_mount"
179+
}
180+
168181
function close_device() {
169-
local l_lvm_name=$1
170-
local l_lvm_group=$2
171-
local l_mapper=$3
172-
local l_mount=$4
182+
local l_mount=$1
183+
local l_mapper=$2
184+
local l_lvm_name=$3
185+
local l_lvm_group=$4
173186

174187
unmount_device "$l_mount"
175188
lock_device "$l_mapper"
189+
deactivate_lvm "$l_lvm_name" "$l_lvm_group"
176190
}
177191

178192
function stop_service() {
@@ -201,14 +215,14 @@ function start_service() {
201215

202216
function open_all_devices() {
203217
# open active data device
204-
activate_lvm "none" "none"
205-
unlock_device "$ACTIVE_DATA_UUID" "$ACTIVE_DATA_MAPPER" "no_key_file"
206-
mount_device "$ACTIVE_DATA_MAPPER" "$ACTIVE_DATA_MOUNT"
218+
open_device "$ACTIVE_DATA_MOUNT" "$ACTIVE_DATA_MAPPER" \
219+
"$ACTIVE_DATA_LVM_NAME" "$ACTIVE_DATA_LVM_GROUP" \
220+
"$ACTIVE_DATA_UUID" "no_key_file"
207221

208222
# open storage data device
209-
activate_lvm "$STORAGE_DATA_LVM_NAME" "$STORAGE_DATA_LVM_GROUP"
210-
unlock_device "$STORAGE_DATA_UUID" "$STORAGE_DATA_MAPPER" "$STORAGE_DATA_KEY_FILE"
211-
mount_device "$STORAGE_DATA_MAPPER" "$STORAGE_DATA_MOUNT"
223+
open_device "$STORAGE_DATA_MOUNT" "$STORAGE_DATA_MAPPER" \
224+
"$STORAGE_DATA_LVM_NAME" "$STORAGE_DATA_LVM_GROUP" \
225+
"$STORAGE_DATA_UUID" "$STORAGE_DATA_KEY_FILE"
212226

213227
# open network storage
214228
mount_network_path "$NETWORK_SHARE_ADDRESS" "$NETWORK_SHARE_MOUNT" "$NETWORK_SHARE_PROTOCOL" \
@@ -217,20 +231,18 @@ function open_all_devices() {
217231

218232
function close_all_devices() {
219233
# close storage data device
220-
unmount_device "$STORAGE_DATA_MOUNT"
221-
lock_device "$STORAGE_DATA_MAPPER"
222-
deactivate_lvm "$STORAGE_DATA_LVM_NAME" "$STORAGE_DATA_LVM_GROUP"
234+
close_device "$STORAGE_DATA_MOUNT" "$STORAGE_DATA_MAPPER" \
235+
"$STORAGE_DATA_LVM_NAME" "$STORAGE_DATA_LVM_GROUP"
223236

224237
# close active data device
225-
unmount_device "$ACTIVE_DATA_MOUNT"
226-
lock_device "$ACTIVE_DATA_MAPPER"
227-
deactivate_lvm "none" "none"
238+
close_device "$ACTIVE_DATA_MOUNT" "$ACTIVE_DATA_MAPPER" \
239+
"$ACTIVE_DATA_LVM_NAME" "$ACTIVE_DATA_LVM_GROUP"
228240

229241
# close network storage
230242
unmount_device "$NETWORK_SHARE_MOUNT"
231243
}
232244

233-
start_all_services() {
245+
function start_all_services() {
234246
if [ "$ST_SERVICE" != "none" ] || [ "$DOCKER_SERVICE" != "none" ]; then
235247
echo "Reloading systemd units..."
236248
systemctl daemon-reload
@@ -246,7 +258,7 @@ start_all_services() {
246258
fi
247259
}
248260

249-
stop_all_services() {
261+
function stop_all_services() {
250262
if [ "$ST_SERVICE" != "none" ]; then
251263
stop_service "$ST_SERVICE"
252264
fi
@@ -309,7 +321,8 @@ function verify_requirements() {
309321
local l_cryptsetup_version_major_required="$LUKS_MIN_VERSION"
310322

311323
if [ "$l_cryptsetup_version_major_current" -lt "$l_cryptsetup_version_major_required" ]; then
312-
echo "ERROR: Unsupported version of 'cryptsetup' utility, please use version $l_cryptsetup_version_major_required or newer"
324+
echo -n "ERROR: Unsupported version of 'cryptsetup' utility,"
325+
echo " please use version $l_cryptsetup_version_major_required or newer"
313326
return $FAILURE
314327
fi
315328
}

0 commit comments

Comments
 (0)