Setting Up External Drive
How many disks do I have?
rgeorgia@openHammerPOC11:~$ sysctl hw.disknames
hw.disknames=sd0:,sd1:ddfd33f24fa82897
Now I want see which is the boot disk.
dmesg | grep sd*
rgeorgia@openHammerPOC11:~$ dmesg | grep sd0
sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD40EFRX-68N, 82.0> naa.50014ee2651931c3
sd0: 3815447MB, 512 bytes/sector, 7814037168 sectors
rgeorgia@openHammerPOC11:~$ dmesg | grep sd1
sd1 at scsibus0 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
sd1 at scsibus1 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
root on sd1a (ddfd33f24fa82897.a) swap on sd1b dump on sd1b
sd1 at scsibus1 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
root on sd1a (ddfd33f24fa82897.a) swap on sd1b dump on sd1b
sd1 at scsibus1 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
root on sd1a (ddfd33f24fa82897.a) swap on sd1b dump on sd1b
sd1 at scsibus1 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
root on sd1a (ddfd33f24fa82897.a) swap on sd1b dump on sd1b
sd1 at scsibus1 targ 1 lun 0: <ATA, INDMEM SSD mSata, Q092> naa.0000000000000000
sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin
root on sd1a (ddfd33f24fa82897.a) swap on sd1b dump on sd1b
df -h
rgeorgia@openHammerPOC11:~$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sd1a 7.7G 151M 7.2G 3% /
/dev/sd1n 87.2G 11.9M 82.9G 1% /home
/dev/sd1d 7.8G 10.0K 7.4G 1% /tmp
/dev/sd1f 33.9G 1.6G 30.6G 6% /usr
/dev/sd1g 1.9G 322M 1.5G 18% /usr/X11R6
/dev/sd1h 24.2G 2.3G 20.7G 10% /usr/local
/dev/sd1k 6.8G 2.0K 6.4G 1% /usr/obj
/dev/sd1j 6.8G 2.0K 6.4G 1% /usr/src
/dev/sd1e 29.1G 45.1M 27.6G 1% /var
/dev/sd1m 9.7G 2.0K 9.2G 1% /var/postgresql
/dev/sd1l 7.8G 1.4M 7.4G 1% /var/www
So, looks like sd1 is my boot drive. The /dev/sd1 is 240G drive.
Let’s prepare sd0. I want a small partition for meta data or something else that sounds really cool and smart. The rest of the drive will be for my Samba share.
Okay, I’ll take a look at sd0
rgeorgia@openHammerPOC11:~$ doas fdisk sd0
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
#: type [ start: size ]
------------------------------------------------------------------------
rgeorgia@openHammerPOC11:~$ doas fdisk sd0
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
#: type [ start: size ]
------------------------------------------------------------------------
20:50 rgeorgia@openHammerPOC11:~$ doas fdisk -v sd0
Primary GPT:
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
GUID: eb81cd67-b076-11f0-93f2-41623103e5ba
#: type [ start: size ]
guid name
------------------------------------------------------------------------
Secondary GPT:
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
GUID: eb81cd67-b076-11f0-93f2-41623103e5ba
#: type [ start: size ]
guid name
------------------------------------------------------------------------
MBR:
Disk: sd0 geometry: 32960/511/255 [4294852800 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: EE 0 0 2 - 59967 146 3 [ 1: 7814037167 ] EFI GPT
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
Creating a GPT
Looks like it’s not been initialized. I’ll be following instructions found on page 34 of OpenBSD Mastery Filesystems by Lucas. Seems like in order to create a new GPT all in one command
rgeorgia@openHammerPOC11:~$ doas fdisk -Ay sd0
Writing GPT.
Now look at our handy work.
rgeorgia@openHammerPOC11:~$ doas fdisk sd0
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
#: type [ start: size ]
------------------------------------------------------------------------
0: OpenBSD [ 64: 7814037071 ]
rgeorgia@openHammerPOC11:~$ doas fdisk -v sd0
Primary GPT:
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
GUID: eb81cd67-b076-11f0-93f2-41623103e5ba
#: type [ start: size ]
guid name
------------------------------------------------------------------------
0: OpenBSD [ 64: 7814037071 ]
146aacad-d679-449a-ad69-04f0f00b098a OpenBSD Area
Secondary GPT:
Disk: sd0 Usable LBA: 34 to 7814037134 [7814037168 Sectors]
GUID: eb81cd67-b076-11f0-93f2-41623103e5ba
#: type [ start: size ]
guid name
------------------------------------------------------------------------
0: OpenBSD [ 64: 7814037071 ]
146aacad-d679-449a-ad69-04f0f00b098a OpenBSD Area
MBR:
Disk: sd0 geometry: 32960/511/255 [4294852800 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: EE 0 0 2 - 27006 208 2 [ 1: 3519069871 ] EFI GPT
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused
disklabel
rgeorgia@openHammerPOC11:~$ doas disklabel -p t sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: WDC WD40EFRX-68N
duid: 4307e41acc9a8f74
flags:
bytes/sector: 512
sectors/track: 255
tracks/cylinder: 511
sectors/cylinder: 130305
cylinders: 59967
total sectors: 7814037168 # total bytes: 3.6T
boundstart: 64
boundend: 7814037135
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 3.6T 64 4.2BSD 8192 65536 1
c: 3.6T 0 unused
Creating partitions
We will use disklabel -E to edit the partition table.
rgeorgia@openHammerPOC11:~$ doas disklabel -E sd0
Label editor (enter '?' for help at any prompt)
sd0> p g
OpenBSD area: 64-7814037135; size: 3726.0G; free: 0.0G
# size offset fstype [fsize bsize cpg]
a: 3726.0G 64 4.2BSD 8192 65536 1
c: 3726.0G 0 unused
sd0> d
partition to delete: [] a
sd0*> p
OpenBSD area: 64-7814037135; size: 7814037071; free: 7814037071
# size offset fstype [fsize bsize cpg]
c: 7814037168 0 unused
sd0*> a
partition to add: [a]
offset: [64]
size: [7814037071] 2g
FS type: [4.2BSD]
sd0*> p
OpenBSD area: 64-7814037135; size: 7814037071; free: 7809737071
# size offset fstype [fsize bsize cpg]
a: 4300000 64 4.2BSD 2048 16384 1
c: 7814037168 0 unused
sd0*> a
partition to add: [b] d
offset: [4300064]
size: [7809737071]
FS type: [4.2BSD]
sd0*> p
OpenBSD area: 64-7814037135; size: 7814037071; free: 111
# size offset fstype [fsize bsize cpg]
a: 4300000 64 4.2BSD 2048 16384 1
c: 7814037168 0 unused
d: 7809736960 4300160 4.2BSD 8192 65536 1
sd0*> p g
OpenBSD area: 64-7814037135; size: 3726.0G; free: 0.0G
# size offset fstype [fsize bsize cpg]
a: 2.1G 64 4.2BSD 2048 16384 1
c: 3726.0G 0 unused
d: 3724.0G 4300160 4.2BSD 8192 65536 1
sd0*> p t
OpenBSD area: 64-7814037135; size: 3.6T; free: 0.0T
# size offset fstype [fsize bsize cpg]
a: 0.0T 64 4.2BSD 2048 16384 1
c: 3.6T 0 unused
d: 3.6T 4300160 4.2BSD 8192 65536 1
sd0*> ?
Available commands:
? | h - show help n [part] - set mount point
A - auto partition all space p [unit] - print partitions
a [part] - add partition q - quit & save changes
b - set OpenBSD boundaries R [part] - resize auto allocated partition
c [part] - change partition size r - display free space
D - reset label to default s [path] - save label to file
d [part] - delete partition U - undo all changes
e - edit label description u - undo last change
i - modify disklabel UID w - write label to disk
l [unit] - print disk label header x - exit & lose changes
M - disklabel(8) man page z - delete all partitions
m [part] - modify partition
Suffixes can be used to indicate units other than sectors:
'b' (bytes), 'k' (kilobytes), 'm' (megabytes), 'g' (gigabytes) 't' (terabytes)
'c' (cylinders), '%' (% of total disk), '&' (% of free space).
Values in non-sector units are truncated to the nearest cylinder boundary.
sd0*> w
sd0> p
OpenBSD area: 64-7814037135; size: 7814037071; free: 111
# size offset fstype [fsize bsize cpg]
a: 4300000 64 4.2BSD 2048 16384 1
c: 7814037168 0 unused
d: 7809736960 4300160 4.2BSD 8192 65536 1
sd0> p g
OpenBSD area: 64-7814037135; size: 3726.0G; free: 0.0G
# size offset fstype [fsize bsize cpg]
a: 2.1G 64 4.2BSD 2048 16384 1
c: 3726.0G 0 unused
d: 3724.0G 4300160 4.2BSD 8192 65536 1
sd0> q
No label changes.
New disk layout
rgeorgia@openHammerPOC11:~$ doas disklabel sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: WDC WD40EFRX-68N
duid: 4307e41acc9a8f74
flags:
bytes/sector: 512
sectors/track: 255
tracks/cylinder: 511
sectors/cylinder: 130305
cylinders: 59967
total sectors: 7814037168
boundstart: 64
boundend: 7814037135
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 4300000 64 4.2BSD 2048 16384 1
c: 7814037168 0 unused
d: 7809736960 4300160 4.2BSD 8192 65536 1
New file system
Now I’ll “format” the new partitions. Note: using the -q flag will suppress the output.
rgeorgia@openHammerPOC11:~$ doas newfs /dev/rsd0a
/dev/rsd0a: 2099.6MB in 4300000 sectors of 512 bytes
11 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each
super-block backups (for fsck -b #) at:
160, 414880, 829600, 1244320, 1659040, 2073760, 2488480, 2903200, 3317920, 3732640, 4147360,
rgeorgia@openHammerPOC11:~$ doas newfs /dev/rsd0d
/dev/rsd0d: 3813348.0MB in 7809736960 sectors of 512 bytes
1168 cylinder groups of 3266.88MB, 52270 blocks, 104704 inodes each
super-block backups (for fsck -b #) at:
256, 6690816, 13381376, 20071936, 26762496, 33453056, 40143616, 46834176, 53524736, 60215296, 66905856, 73596416, 80286976,86977536, 93668096, 100358656, 107049216, <snip> 7781121536, 7787812096, 7794502656, 7801193216, 7807883776,
Finding DUID
rgeorgia@openHammerPOC11:~$ doas disklabel sd0 | grep duid duid: 4307e41acc9a8f74
Update fstab
We have the DUID, let’s update the /etc/fstab to include our new partitions
rgeorgia@openHammerPOC11:~$ cat /etc/fstab
ddfd33f24fa82897.b none swap sw ddfd33f24fa82897.a / ffs rw 1 1 ddfd33f24fa82897.n /home ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.d /tmp ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.f /usr ffs rw,nodev 1 2 ddfd33f24fa82897.g /usr/X11R6 ffs rw,nodev 1 2 ddfd33f24fa82897.h /usr/local ffs rw,wxallowed,nodev 1 2 ddfd33f24fa82897.k /usr/obj ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.j /usr/src ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.e /var ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.m /var/postgresql ffs rw,nodev,nosuid 1 2 ddfd33f24fa82897.l /var/www ffs rw,nodev,nosuid 1 2 4307e41acc9a8f74.a /var/hammer/hmeta ffs rw,nodev,nosuid 1 2 4307e41acc9a8f74.d /var/hammer/martel ffs rw,nodev,nosuid 1 2
Mount all
Use mount -a to mount everything listed in /etc/fstab. Then check your work.
rgeorgia@openHammerPOC11:~$ doas mount -a
rgeorgia@openHammerPOC11:~$ mount
/dev/sd1a on / type ffs (local)
/dev/sd1n on /home type ffs (local, nodev, nosuid)
/dev/sd1d on /tmp type ffs (local, nodev, nosuid)
/dev/sd1f on /usr type ffs (local, nodev)
/dev/sd1g on /usr/X11R6 type ffs (local, nodev)
/dev/sd1h on /usr/local type ffs (local, nodev, wxallowed)
/dev/sd1k on /usr/obj type ffs (local, nodev, nosuid)
/dev/sd1j on /usr/src type ffs (local, nodev, nosuid)
/dev/sd1e on /var type ffs (local, nodev, nosuid)
/dev/sd1m on /var/postgresql type ffs (local, nodev, nosuid)
/dev/sd1l on /var/www type ffs (local, nodev, nosuid)
/dev/sd0a on /var/hammer/hmeta type ffs (local, nodev, nosuid)
/dev/sd0d on /var/hammer/martel type ffs (local, nodev, nosuid)
rgeorgia@openHammerPOC11:~$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sd1a 7.7G 151M 7.2G 3% /
/dev/sd1n 87.2G 11.9M 82.9G 1% /home
/dev/sd1d 7.8G 10.0K 7.4G 1% /tmp
/dev/sd1f 33.9G 1.6G 30.6G 6% /usr
/dev/sd1g 1.9G 322M 1.5G 18% /usr/X11R6
/dev/sd1h 24.2G 2.3G 20.7G 10% /usr/local
/dev/sd1k 6.8G 2.0K 6.4G 1% /usr/obj
/dev/sd1j 6.8G 2.0K 6.4G 1% /usr/src
/dev/sd1e 29.1G 45.1M 27.6G 1% /var
/dev/sd1m 9.7G 2.0K 9.2G 1% /var/postgresql
/dev/sd1l 7.8G 1.4M 7.4G 1% /var/www
Reboot
Of course we need to reboot to verify it is all put together correctly. After the reboot…
rgeorgia@openHammerPOC11:~$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sd1a 7.7G 120M 7.2G 2% /
/dev/sd1n 87.2G 11.9M 82.9G 1% /home
/dev/sd1d 7.8G 10.0K 7.4G 1% /tmp
/dev/sd1f 33.9G 1.6G 30.6G 6% /usr
/dev/sd1g 1.9G 322M 1.5G 18% /usr/X11R6
/dev/sd1h 24.2G 2.3G 20.7G 10% /usr/local
/dev/sd1k 6.8G 2.0K 6.4G 1% /usr/obj
/dev/sd1j 6.8G 2.0K 6.4G 1% /usr/src
/dev/sd1e 29.1G 45.1M 27.6G 1% /var
/dev/sd1m 9.7G 2.0K 9.2G 1% /var/postgresql
/dev/sd1l 7.8G 1.4M 7.4G 1% /var/www
/dev/sd0a 2.0G 2.0K 1.9G 1% /var/hammer/hmeta
/dev/sd0d 3.6T 8.0K 3.4T 1% /var/hammer/martel