commit 7449a15389f87a27fe992e30b21301ab5db45123 Author: minco Date: Thu Nov 13 20:36:46 2025 +0900 new: sata-to-nvme diff --git a/2025-11-13-sata-to-nvme/0001-transfer.sh b/2025-11-13-sata-to-nvme/0001-transfer.sh new file mode 100644 index 0000000..b6ea48d --- /dev/null +++ b/2025-11-13-sata-to-nvme/0001-transfer.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +SOURCE_DISK=/dev/nvme0n1p2 +OUTPUT_IMAGE_PATH=/x/sata1/snapshots/nvme-old-1tb.zst +TRANSFER_SIZE=436G + +sudo partclone.ntfs -c -s $SOURCE_DISK -o - \ + | pv -s $TRANSFER_SIZE -pterb \ + | zstd -T0 -19 -o $OUTPUT_IMAGE_PATH + diff --git a/2025-11-13-sata-to-nvme/README.md b/2025-11-13-sata-to-nvme/README.md new file mode 100644 index 0000000..ffe1373 --- /dev/null +++ b/2025-11-13-sata-to-nvme/README.md @@ -0,0 +1,6 @@ +# SATA to NVME session + +## Goal +- Move all data in NTFS partition `/dev/nvme0n1p2` to `/x/sata1/snapshots`. +- Use partclone and zstd for the best efficiency. + diff --git a/2025-11-13-sata-to-nvme/REVIEW.md b/2025-11-13-sata-to-nvme/REVIEW.md new file mode 100644 index 0000000..df46b56 --- /dev/null +++ b/2025-11-13-sata-to-nvme/REVIEW.md @@ -0,0 +1,21 @@ +## Script Review: 0001-transfer.sh + +**Purpose:** Creates a compressed backup image of an NTFS partition using partclone and zstd compression. + +**Key Components:** +- **Source:** `/dev/nvme0n1p2` (NTFS partition) +- **Output:** `/x/sata1/snapshots/nvme-old-1tb.zst` (compressed image) +- **Transfer Size:** 436G (used for progress monitoring) + +**Pipeline:** +1. `partclone.ntfs -c -s $SOURCE_DISK -o -` - Clones NTFS partition to stdout +2. `pv -s $TRANSFER_SIZE -pterb` - Monitors progress with visual feedback (progress, time, rate, bytes) +3. `zstd -T0 -19 -o $OUTPUT_IMAGE_PATH` - Compresses with max compression (level 19) using all CPU threads + +**Notes:** +- Requires `sudo` privileges +- Uses maximum compression (`-19`) for best space efficiency +- Multi-threaded compression (`-T0`) for faster processing +- Progress bar provides real-time feedback during the long-running operation + +Let's go.