58 lines
1.8 KiB
Bash
Executable File
58 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Vars
|
|
## Define the hard drive to use
|
|
if [ -b '/dev/sda' ]; then
|
|
hdd="/dev/sda"
|
|
else
|
|
printf '%b\n' "Please check the hard drive to use"
|
|
exit 0
|
|
fi
|
|
## Volume Group name to use for LVM
|
|
vgname="ovhsys"
|
|
## If the script should manage the partitions (delete, add,…)
|
|
manage_part=0
|
|
|
|
# Partitionning {{{
|
|
if [ "${manage_part}" -eq 0 ]; then
|
|
## Remove all old partitions
|
|
for part_number in 1 2 3 4 5 6 7 8; do
|
|
[ -b "${hdd}""${part_number}" ] && parted "${hdd}" rm "${part_number}"
|
|
done
|
|
|
|
## Recreate partition (/boot and LV) {{{
|
|
### Partition type
|
|
parted "${hdd}" mklabel msdos
|
|
### /boot
|
|
parted "${hdd}" mkpart primary 0% 512MB
|
|
parted "${hdd}" set 1 boot on
|
|
### LV
|
|
parted "${hdd}" mkpart primary 4194kB 100%
|
|
parted "${hdd}" set 2 lvm on
|
|
sudo pvcreate "${hdd}"2
|
|
sudo vgcreate "${vgname}" ${hdd}2
|
|
fi
|
|
|
|
## }}}
|
|
## Create Logical Volumes {{{
|
|
[ ! -b /dev/mapper/"${vgname}"-home ] && lvcreate -n home -L 20g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-opt ] && lvcreate -n opt -L 2g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-root ] && lvcreate -n root -L 5g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-srv ] && lvcreate -n srv -L 2g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-tmp ] && lvcreate -n tmp -L 10g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-usr ] && lvcreate -n usr -L 15g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-var ] && lvcreate -n var -L 10g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-vz ] && lvcreate -n vz -L 150g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-bkp ] && lvcreate -n bkp -L 150g "${vgname}"
|
|
[ ! -b /dev/mapper/"${vgname}"-swap ] && lvcreate -n swap -L 2g "${vgname}"
|
|
|
|
### Format the LV in ext4
|
|
for lvname in /dev/mapper/"${vgname}"-*; do
|
|
mkfs.ext4 "${lvname}"
|
|
done
|
|
|
|
### And format the swap
|
|
mkswap /dev/mapper/"${vgname}"-swap
|
|
## }}}
|
|
# }}}
|