Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
blog
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
nimrod
blog
Commits
29a5c774
Commit
29a5c774
authored
10 months ago
by
nimrod
Browse files
Options
Downloads
Patches
Plain Diff
fixup! New post on copying the drive on a running machine.
parent
d0a12162
No related branches found
No related tags found
No related merge requests found
Pipeline
#3914
passed
10 months ago
Stage: .pre
Stage: deploy
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/onlide-disk-copy.rst
+17
-17
17 additions, 17 deletions
content/onlide-disk-copy.rst
with
17 additions
and
17 deletions
content/onlide-disk-copy.rst
+
17
−
17
View file @
29a5c774
...
...
@@ -2,17 +2,17 @@
Copy a drive on a running machine
#################################
:date: 2024-06-08
:summary: Copying to a new drive while the machine is running
:summary: Copying
from an old drive
to a new drive while the machine is running
I was close to running out of disk space the homelab machine I use for
running
services with personal data that I run in my home (I feel more
comfortable
having physical control). I was too lazy to connect the machine to
a monitor
and keyboard and reboot
ing
from a thumbdrive so I tried to copy the old
drive
to a new drive while the machine was running. Here's what I did:
I was close to running out of disk space
on
the homelab machine I use for
running
services with personal data that I run in my home (I feel more
comfortable
having physical control). I was too lazy to connect the machine to
a monitor
and keyboard and reboot from a thumbdrive so I tried to copy the old
drive
to a new drive while the machine was running. Here's what I did:
#. Stop running processes that have open files. For me it was stopping Docker
containers, some services (I have most
service
s running in containers so
I
have few services
).
containers, some services (I have most
thing
s running in containers so
most
of the services are ones that come with a standard OS installation
).
.. code:: shell
...
...
@@ -21,7 +21,7 @@ to a new drive while the machine was running. Here's what I did:
#. :code:`cd` to a directory on a different drive to avoid keeping the path
open :code:`cd /tmp`. Remount all partitions as read-only: :code:`sudo mount
open
(
:code:`cd /tmp`
)
. Remount all partitions as read-only: :code:`sudo mount
--all -o remount,ro -t vfat,btrfs,ext4`. This may fail and you will see an
error with a path that couldn't be remounted due to open files. Run
:code:`lsof /path/that/has/open/files`, find the processes that still have
...
...
@@ -36,14 +36,14 @@ to a new drive while the machine was running. Here's what I did:
#. Once the copy is complete, run :code:`sudo sync` again and :code:`echo 1 |
sudo tee /sys/block/nvme0n1/device/rescan`. Now we need to resize the data
partition, `sudo parted /dev/nvme0n1 --script resizepart 3 100%` (in
my case
the data partition was the 3rd partition after the EFI and root
partitions).
Open the encrypted partition :code:`sudo cryptsetup open
/dev/nvme0n1p3
_dev_nvme0n1p2` and resize the encrypted partition
:code:`sudo cryptsetup
resize _dev_nvme0n1p3`. Last resize is the filesystem
in the encrypted
partition, we mount it :code:`sudo mount
/dev/mapper/_dev_nvme0n1p3 /mnt`
and resize it :code:`sudo btrfs filesystem
resize max /mnt`. Umount the data
partition :code:`sudo umount /mnt`.
partition,
:code:
`sudo parted /dev/nvme0n1 --script resizepart 3 100%` (in
my case
the data partition was the 3rd partition after the EFI and root
partitions).
Open the encrypted partition :code:`sudo cryptsetup open
/dev/nvme0n1p3
_dev_nvme0n1p2` and resize the encrypted partition
:code:`sudo cryptsetup
resize _dev_nvme0n1p3`. Last resize is the filesystem
in the encrypted
partition, we mount it :code:`sudo mount
/dev/mapper/_dev_nvme0n1p3 /mnt`
and resize it :code:`sudo btrfs filesystem
resize max /mnt`. Umount the data
partition :code:`sudo umount /mnt`.
#. Let's reinstall the boot loader.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment