BTRFS : 볼륨 삭제


11

일주일 전에 다음 명령으로 두 개의 플래시 드라이브 (각 32GB)를 사용하여 BTRFS 풀을 만들었습니다 /sbin/mkfs.btrfs -d single /dev/sda /dev/sdb. 그리고 나는 파티션을 사용했던 것을 실현 /dev/sda1하고 /dev/sdb1대신 디스크로, /dev/sda그리고 /dev/sdb내가 사용하여 볼륨을 다시 있도록 /dev/sd[ab]1.

내 문제는 이제 두 개의 볼륨이 있다는 것입니다.

$ sudo btrfs fi show
Label: none  uuid: ba0b48ce-c729-4793-bd99-90764888851f
        Total devices 2 FS bytes used 28.00KB
        devid    2 size 29.28GB used 1.01GB path /dev/sdb1
        devid    1 size 28.98GB used 1.03GB path /dev/sda1

Label: none  uuid: 17020004-8832-42fe-8243-c145879a3d6a
        Total devices 2 FS bytes used 288.00KB
        devid    1 size 29.28GB used 1.03GB path /dev/sdb
        devid    2 size 28.98GB used 1.01GB path /dev/sda

두 번째 볼륨을 삭제하기 위해 다른 옵션을 시도했습니다 (c145879a3d6a로 끝나는 uuid), 예 : btrfs delete device 사용. 그런 다음 mkfs.btrfs는 장치를 마운트 해제하고 fdisk를 처음부터 완전히 다시 만들기 위해 fdisk를 만들었습니다 btrfs fi show. 시스템에서 이러한 볼륨을 완전히 제거하고 처음부터 모든 것을 시작하려면 어떻게해야합니까? 내가 무엇을 하든지 볼륨을 제거 할 수 없습니다. 예 :

$ sudo btrfs device delete /dev/sda /media/flashdrive/
ERROR: error removing the device '/dev/sda' - Inappropriate ioctl for device

커널 3.12.21 + btrfs v0.19를 실행 중입니다.

답변:


8

BTRFS를 사용하여 비슷한 문제가 발생했습니다.

우선 먼저-버터는 파티션에있을 필요가 없으므로 / dev / sdb1에 원하는 이유가 없다면 정확히 내가 한 일을하고 정확히 같은 문제가 발생했습니다.

파고 들고 그것을 고치기위한 깨끗한 해결책을 찾은 후에, wipefs가 최선의 선택입니다. 아마도 새로운 버전은 모든 흔적을 제거 할 수 있습니다. 그러나이 문제가 발생했을 때 dd를 사용하여 다음과 같이 전체 장치에 0을 씁니다.

dd if=/dev/zero of=/dev/sdX bs=4M

그것은 9000 파운드 고릴라의 솔루션이지만 엄지 드라이브를 새로운 상태로 되돌릴 것입니다.

SSD 경고 : 이는 제조업체에 따라 SSD 성능에 유해 할 수 있으며 실제로 썸 드라이브에서만 수행해야합니다. SSD에 대해 더 빠르거나 안전하고 더 나은 다른 대안 (blkdiscard)을 제공하는 이 질문 을 참조하십시오 . 이 질문 에는 이것 의 평형을 수행 할 수 있지만 0을 지우지 않는 좋은 답변이 있습니다 (보안 지우기 기능).


감사합니다 Nextraztus! 문제를 해결 한 것 같습니다! 이제 처음부터 다시 작성하겠습니다. 이것이 향후 btrfs 버전에서 수정되기를 바랍니다.
limaunion 2016 년

3

내가 prefere 것 wipefs -t btrfs /dev/sda1 /dev/sdb1에 제안 공식 btrfs를 위키 . mkfs-option의 설명에 약간 숨겨져 있습니다.

-f --force 기존 파일 시스템이 감지되면 블록 장치를 강제로 덮어 씁니다. 기본적으로 mkfs.btrfs는 libblkid를 사용하여 장치에서 알려진 파일 시스템을 확인합니다. 또는 wipefs 유틸리티를 사용하여 장치를 지울 수 있습니다.


3
sudo wipefs --all -t btrfs /dev/sda /dev/sdb

나를 위해 일했다. 나는 빈 채로 추가 --all했다 sudo btrfs fi show.

-a, --all

사용 가능한 모든 서명을 지 웁니다. 지워진 서명 세트는 -t 옵션으로 제한 할 수 있습니다.

배열 / Btrfs는 sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force

wipefs 설명서를 참조하십시오


-fwipefs가 나를 위해 작동하도록 플래그 를 추가해야했습니다 .
ergohack

0

대안으로 cryptsetup을 사용하여 btrfs 정보를 지울 수 있습니다.

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/sdXY

나를 위해 일했다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.