Machine:
- Code: Select all
cMacPro:/ madmin$ system_profiler SPSoftwareDataType; system_profiler SPStorageDataType | grep -C3 "Device Name"
Software:
System Software Overview:
System Version: macOS 10.14 (18A391)
Kernel Version: Darwin 18.0.0
Boot Volume: FlashBoot
Boot Mode: Normal
Computer Name: cMacPro
User Name: Media Administrator (madmin)
Secure Virtual Memory: Enabled
System Integrity Protection: Disabled
Time since boot: 12 minutes
BSD Name: disk6s1
Volume UUID: 8498A864-FF8E-48E3-AC80-DDB6F379B727
Physical Drive:
Device Name: APPLE SSD SM0512G
Media Name: AppleAPFSMedia
Medium Type: SSD
Protocol: PCI
cMacPro:/ madmin$
Model Name: Mac Pro
Model Identifier: MacPro5,1
Processor Name: Quad-Core Intel Xeon
Processor Speed: 3.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 32 GB
Boot ROM Version: 138.0.0.0.0
SMC Version (system): 1.39f11
SMC Version (processor tray): 1.39f11
Serial Number (system): (blah)
Serial Number (processor tray): (blah)
Hardware UUID: 501D3C57-C610-55E6-93B0-C49C27EAE342
Memory 32 GB
Memory Type: DDR3 ECC
Memory Speed: 1066 MHz
Disk Type Used:
- Code: Select all
Model Family: SAMSUNG SpinPoint F2 EG
Model: SAMSUNG HD103SI Media
Serial Number: S1XGJ9BS817193
Firmware Version: 1AG01113
Capacity: 1.00 TB
ATA Version: 7
Connection : SATA 3.0Gb/s
Speed: 5400rpm
Volume capacity : 1,000,204,886,016 (1TB)
Cache : 32MB
FormFactor: 3.5" Internal
Average Seek Time: 8.9ms
Average Latency: 5.52ms
So nothing fancy about these old disks.
Apple's diskutil reports:
- Code: Select all
cMacPro:Desktop madmin$ diskutil info /dev/disk5 | grep "Block Size"
Device Block Size: 512 Bytes
cMacPro:Desktop madmin$ diskutil list physical
/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk6 500.1 GB disk0s2
/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *1.0 TB disk1
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *1.0 TB disk2
/dev/disk3 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *1.0 TB disk3
/dev/disk4 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *1.0 TB disk4
/dev/disk5 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *1.0 TB disk5
cMacPro:Desktop madmin$
PDF suggests 512bytes block size which makes sense given the age of the disks.
https://www.seagate.com/files/www-conte ... reenf2.pdf
Methodology:
- Code: Select all
1. Reboot MacPro
2. Create zpool
3. Test "time ozone -a"
4. Test "time cp /Users/madmin/Desktop/16\,094\,624\,844.bytes /Volumes/<pool-name>
5. Destroy zpool
6. Wipe start of disks using "dd if=/dev/zero of=/dev/disk$n bs=512k count=6"
ZFS config used is the supplied file that comes with 1.8 package, all I've done is remove .example and have restarted given the hardware's RAM is within/capable of these parameters.
- Code: Select all
cMacPro:zfs madmin$ cat zsysctl.conf
# Uses the standard SYSCTL.CONF(5) format.
# Comments are denoted by a "#" at the beginning of a line.
# It is highly recommended to put a date and justification as comments
# alongside each tuning.
# The zfs_arc_max parameter is in bytes and accepts decimal or
# hexadecimal values. The following text shows how to set this parameter
# to 11 GB, as an example:
# 10 Mar 2015; ilovezfs
# Cap the ARC to 11 GB reserving 5 GB for applications.
# 11 * 2^30 = 11,811,160,064
kstat.zfs.darwin.tunable.zfs_arc_max=11811160064
# As another example, let's raise the zfs_arc_meta_limit:
# 10 Mar 2015; ilovezfs
# Raise zfs_arc_meta_limit to 3/4 (instead of 1/4) of zfs_arc_max.
# 3/4 * (11 * 2^30) = 8,858,370,048
# But let's use hexadecimal this time.
# 8,858,370,048 = 0x210000000
kstat.zfs.darwin.tunable.zfs_arc_meta_limit=0x210000000
cMacPro:zfs madmin$
Config used for each pool:
- Code: Select all
zpool create -f -o ashift=<ashift-value> -O com.apple.mimic_hfs=on -O atime=off -O compression=on <poolname> <raid-type> <disks>; chown -Rf unknown:staff /Volumes/<poolname>; chmod o-rwx /Volumes/$poolname
Tests performed:
First:
- Code: Select all
cd /Volumes/<poolname>; time ozone -a
I used the above for two reasons. It's what has been used in the past for previous versions and also this test populates ARC.
Second:
- Code: Select all
time cp /Users/madmin/Desktop/16\,094\,624\,844.bytes /Volumes/<poolname>
While performing the second test, I also captured iostat data.
- Code: Select all
zpool iostat -vH 1 10000000 >> ~/Desktop/zpool\ iostat\ of\ cp.log
I'll post each result as seperate post to stay under 60K characters: