0 votos

El volumen APFS no aumenta de tamaño

Tengo un problema con un volumen APFS que reside dentro de un SparseBundle.
Traté de aumentar su tamaño (similar a esto: ¿Es posible aumentar el tamaño de un volumen APFS? ), pero no lo consiguió.
Desgraciadamente, no tengo ni idea de qué más hacer (salvo recrear todo, copiar todos los datos y ponerlo en el lugar del existente).


añadido (2020-12-08):

Me he dado cuenta de que durante el último paso de mis acciones se ha producido un error y supongo que mi problema existe a causa del error.

El error se produjo durante el "Incremento del contenedor APFS" diskutil apfs resizeContainer disk2s2 0

    error: (oid 0xa67b) apfs_root: btn: invalid o_cksum (0x5824c5de98a6fb78)
    fsroot tree is invalid
    The volume /dev/disk2s2 could not be verified completely

Configurar

La configuración con la que tengo un problema es así, sin embargo creo que la parte relevante está dentro de la parte APFS:

  • En Mac OS (ahora Big Sur)
  • Compartir la red SMB, normalmente montada en /Volumes/Backup/
  • En /Volumes/Backup/ hay un SparseBundle ( /Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle )
  • Dentro del SparseBundle hay un contenedor APFS con un volumen APFS,
    el volumen se monta en /Volumes/itunes_backup/
  • En ~/Library/Application\ Support/MobileSync/ Tengo un enlace al volumen montado
    lrwxr-xr-x 1 user staff 29 Oct 14 2017 Backup -> /Volumes/itunes_backup/Backup

Lo que quería hacer era aumentar el tamaño del volumen APFS que reside dentro del SparseBundle.

Pasos que he dado para aumentar el volumen de APFS

  1. Aumenta el tamaño del SparseBundle con este comando:
    hdiutil resize -size 1500g /Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle
    Por lo que pude ver, no se lanzó ningún error.

  2. Para comprobarlo, ejecuta hdiutil imageinfo /Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle

    Class Name: CSparseBundleDiskImage
    Size Information:
        Total Bytes: 1610822492160
        Compressed Ratio: 1
        Sector Count: 3146137680
        Total Non-Empty Bytes: 0
        Compressed Bytes: 1610822492160
        Total Empty Bytes: 1610822492160
    Checksum Type: none
    Format: UDSB
    partitions:
        partition-scheme: GUID
        block-size: 512
        partitions:
            0:
                partition-name: Protective Master Boot Record
                partition-start: 0
                partition-synthesized: true
                partition-length: 1
                partition-hint: MBR
            1:
                partition-name: GPT Header
                partition-start: 1
                partition-synthesized: true
                partition-length: 1
                partition-hint: Primary GPT Header
            2:
                partition-name: GPT Partition Data
                partition-start: 2
                partition-synthesized: true
                partition-length: 32
                partition-hint: Primary GPT Table
            3:
                partition-name: 
                partition-start: 34
                partition-synthesized: true
                partition-length: 6
                partition-hint: Apple_Free
            4:
                partition-UUID: 131BB16B-9C17-4ADE-BA9C-19A43E3F42F3
                partition-name: EFI System Partition
                partition-hint-UUID: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
                partition-start: 40
                partition-number: 1
                partition-length: 409600
                partition-hint: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
                partition-filesystems:
                    FAT32: EFI
            5:
                partition-UUID: D528609D-5A45-4146-92A8-871B833293BD
                partition-name: disk image
                partition-hint-UUID: 7C3457EF-0000-11AA-AA11-00306543ECAC
                partition-start: 409640
                partition-number: 2
                partition-length: 3145728000
                partition-hint: Apple_APFS
                partition-filesystems:
                    APFS: Untitled
            6:
                partition-name: 
                partition-start: 3146137640
                partition-synthesized: true
                partition-length: 7
                partition-hint: Apple_Free
            7:
                partition-name: GPT Partition Data
                partition-start: 3146137647
                partition-synthesized: true
                partition-length: 32
                partition-hint: Backup GPT Table
            8:
                partition-name: GPT Header
                partition-start: 3146137679
                partition-synthesized: true
                partition-length: 1
                partition-hint: Backup GPT Header
        burnable: false
    Format Description: sparse
    Checksum Value: 
    Properties:
        Encrypted: false
        Kernel Compatible: false
        Checksummed: false
        Software License Agreement: false
        Partitioned: false
        Compressed: no
    Segments:
        0: /Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle
    Backing Store Information:
        URL: file:///Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle/
        Name: itunes_backup.sparsebundle
        Class Name: CBundleBackingStore
    Resize limits (per hdiutil resize -limits):
     min     cur     max 
    1679163392  3145728000  18014398509072303
  3. Montar SparseBundle
    hdiutil attach /Volumes/Backup/iTunes_iOS_Backup/Backup_sparse_bundle/itunes_backup.sparsebundle

    /dev/disk2              GUID_partition_scheme           
    /dev/disk2s1            EFI                             
    /dev/disk2s2            Apple_APFS                      
    /dev/disk3              EF57347C-0000-11AA-AA11-0030654 
    /dev/disk3s1            41504653-0000-11AA-AA11-0030654 /Volumes/itunes_backup
  4. Aumentar el contenedor APFS: diskutil apfs resizeContainer disk2s2 0
    añadido: Me di cuenta de que durante este paso se produjo un error

    Started APFS operation
    Aligning grow delta to 510.612.738.048 bytes and targeting a new physical store size of 1.610.612.736.000 bytes
    Determined the maximum size for the targeted physical store of this APFS Container to be 1.610.611.707.904 bytes
    Resizing APFS Container designated by APFS Container Reference disk3
    The specific APFS Physical Store being resized is disk2s2
    Verifying storage system
    Performing fsck_apfs -n -x /dev/disk2s2
    Checking the container superblock
    Checking the space manager
    Checking the space manager free queue trees
    Checking the object map
    Checking volume
    Checking the APFS volume superblock
    The volume itunes_backup was formatted by newfs_apfs (748.1.47) and last modified by apfs_kext (1677.50.1)
    Checking the object map
    Checking the snapshot metadata tree
    Checking the snapshot metadata
    Checking the extent ref tree
    Checking the fsroot tree
    error: (oid 0xa67b) apfs_root: btn: invalid o_cksum (0x5824c5de98a6fb78)
    fsroot tree is invalid
    The volume /dev/disk2s2 could not be verified completely
    Storage system check exit code is 0
    Growing APFS Physical Store disk2s2 from 1.099.999.997.952 to 1.610.612.736.000 bytes
    Modifying partition map
    Growing APFS data structures
    Finished APFS operation
  5. diskutil apfs list

    APFS Containers (2 found)
    |
    +-- Container disk1
    |   +-< Physical Store disk0s2
    |   +-> Volume disk1s1 
    |   +-> Volume disk1s2 
    |   +-> Volume disk1s3 
    |   +-> Volume disk1s4 
    |   +-> Volume disk1s5 
    |
    +-- Container disk3 E79238FB-8BB4-44AB-AFD9-4990B9B70F23
        ====================================================
        APFS Container Reference:     disk3
        Size (Capacity Ceiling):      1610612736000 B (1.6 TB)
        Capacity In Use By Volumes:   845079302144 B (845.1 GB) (52.5% used)
        Capacity Not Allocated:       765533433856 B (765.5 GB) (47.5% free)
        |
        +-< Physical Store disk2s2 D528609D-5A45-4146-92A8-871B833293BD
        |   -----------------------------------------------------------
        |   APFS Physical Store Disk:   disk2s2
        |   Size:                       1610612736000 B (1.6 TB)
        |
        +-> Volume disk3s1 424805EF-477B-4C7B-9688-9A46612478D9
            ---------------------------------------------------
            APFS Volume Disk (Role):   disk3s1 (No specific role)
            Name:                      itunes_backup (Case-sensitive)
            Mount Point:               /Volumes/itunes_backup
            Capacity Consumed:         844815552512 B (844.8 GB)
            Sealed:                    No
            FileVault:                 No

El problema

El problema que tengo es que el volumen parece no ampliarse o al menos el espacio no es utilizable. Cuando intenté copiar datos en la unidad, falló por falta de espacio.

Cuando compruebo con df -h /Volumes/itunes_backup/ Ya veo

    Filesystem     Size   Used  Avail Capacity iused       ifree %iused  Mounted on
    /dev/disk3s1  1.5Ti  787Gi  285Gi    74%  647844 15727992156    0%   /Volumes/itunes_backup

Cualquier idea de cómo puedo proceder para aumentar también el volumen de APFS sería muy apreciada

1voto

David Anderson Puntos 2189

El respuesta aceptada a la que hace referencia no incluyó el -imageonly en la opción hdiutil que se muestra en el paso 3.

Estoy usando High Sierra. Aquí hay un ejemplo.

Primero, creo un paquete disperso.

Marlin-3:~ davidanderson$ hdiutil create -type SPARSEBUNDLE -size 100g -fs APFS -volname MyAPFS -attach ~/Desktop/test
/dev/disk1              GUID_partition_scheme           
/dev/disk1s1            EFI                             
/dev/disk1s2            Apple_APFS                      
/dev/disk2              EF57347C-0000-11AA-AA11-0030654 
/dev/disk2s1            41504653-0000-11AA-AA11-0030654 /Volumes/MyAPFS
created: /Users/davidanderson/Desktop/test.sparsebundle
Marlin-3:~ davidanderson$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +107.4 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         107.2 GB   disk1s2

A continuación, expulso.

Marlin-3:~ davidanderson$ diskutil eject disk1
Disk disk1 ejected

Aquí, está el comando de redimensionamiento.

Marlin-3:~ davidanderson$ hdiutil resize -size 200g -imageonly ~/Desktop/test.sparsebundle
nx_kernel_mount:1359: : checkpoint search: largest xid 5, best xid 5 @ 9
nx_kernel_mount:1359: : checkpoint search: largest xid 5, best xid 5 @ 9
nx_kernel_mount:1359: : checkpoint search: largest xid 5, best xid 5 @ 9
nx_kernel_mount:1359: : checkpoint search: largest xid 5, best xid 5 @ 9

A continuación, monto.

Marlin-3:~ davidanderson$ hdiutil attach ~/Desktop/test.sparsebundle
/dev/disk1              GUID_partition_scheme           
/dev/disk1s1            EFI                             
/dev/disk1s2            Apple_APFS                      
/dev/disk2              EF57347C-0000-11AA-AA11-0030654 
/dev/disk2s1            41504653-0000-11AA-AA11-0030654 /Volumes/MyAPFS
Marlin-3:~ davidanderson$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +214.7 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         107.2 GB   disk1s2

Por último, aumento el tamaño del contenedor APFS.

Marlin-3:~ davidanderson$ diskutil apfs resizecontainer disk1s2 0
Started APFS operation
Aligning grow delta to 107,374,182,400 bytes and targeting a new physical store size of 214,538,608,640 bytes
Determined the maximum size for the targeted physical store of this APFS Container to be 214,537,580,544 bytes
Resizing APFS Container designated by APFS Container Reference disk2
The specific APFS Physical Store being resized is disk1s2
Verifying storage system
Performing fsck_apfs -n -x /dev/disk1s2
Checking volume
Checking the container superblock
Checking the space manager
Checking the object map
Checking the APFS volume superblock
Checking the object map
Checking the fsroot tree
Checking the snapshot metadata tree
Checking the extent ref tree
Checking the snapshots
Verifying allocated space
The volume /dev/disk1s2 appears to be OK
Storage system check exit code is 0
Growing APFS Physical Store disk1s2 from 107,164,426,240 to 214,538,608,640 bytes
Modifying partition map
Growing APFS data structures
Finished APFS operation
Marlin-3:~ davidanderson$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +214.7 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         214.5 GB   disk1s2

0 votos

Si he entendido bien, la única diferencia es -imageonly al mando hdiutil resize -size 200g -imageonly ~/Desktop/test.sparsebundle . Lo intenté, incluso con una copia de seguridad antigua del SparseBundle, pero fue en vano. Mientras lo intentaba me di cuenta de que se produjo un error durante mi último paso: error: (oid 0xa67b) apfs_root: btn: invalid o_cksum (0x5824c5de98a6fb78) fsroot tree is invalid . El problema también estaba presente en la copia de seguridad más antigua que tenía desde hace aproximadamente 1 año. Parece que en algún momento del pasado mi contenedor APFS (¿o volumen?) se corrompió.

0 votos

Han probado a utilizar diskutil ¿para reparar? Puede utilizar asr para clonar, pero esto requeriría suficiente espacio libre como el utilizado por el actual paquete disperso.

0 votos

El espacio no es un problema. ¿Qué sugieres; en mi diseño descrito anteriormente diskutil repairVolume disk3s1 ? Mientras comprobaba lo de asr i encontró enlace a CCC . Si la reparación con diskutil falla, podría simplemente crear un nuevo SparseBundle y utilizar CCC para clonar los datos. Llevará un tiempo para 900gb, pero debería funcionar, ¿no?

0voto

Dietrich Puntos 61

Al final he conseguido eliminar el error error: (oid 0xa67b) apfs_root: btn: invalid o_cksum (0x5824c5de98a6fb78) creando un nuevo SparseBundle y copiando todos los datos en el nuevo.

Mi proceso

A)
Crear un nuevo SparseBundle que incluya un contenedor APFS.
Eso me dio la posibilidad de usar un tamaño de banda más grande de ~60MB (en lugar de los 8MB por defecto).

hdiutil create -size 1t -type SPARSEBUNDLE -tgtimagekey sparse-band-size=131072 -fs APFS -volname itunes_backup_new -attach itunes_backup_new.sparsebundle

/dev/disk4              GUID_partition_scheme           
/dev/disk4s1            EFI                             
/dev/disk4s2            Apple_APFS                      
/dev/disk5              EF57347C-0000-11AA-AA11-0030654 
/dev/disk5s1            41504653-0000-11AA-AA11-0030654 /Volumes/itunes_backup_new

B)
Clonar todos los datos del antiguo volumen APFS al nuevo volumen APFS.
Utilicé la buena y vieja Clonador de copias de carbono porque permite la clonación incremental. Eso significa que podría detener la clonación en la mitad y continuar sin empezar de nuevo.
Como es consciente del contenido, sólo clona los datos reales. El resultado fue un SparseBundle más pequeño.

Paso alternativo B)

También probé asr por curiosidad en una copia del SparseBundle original.
Ha funcionado bien, por lo que he podido comprobar. El proceso consiste en crear un nuevo SparseBundle como se describe en el paso A) y luego ejecutar asr .
Como quería eliminar el error del contenedor APFS, parece una buena idea utilizar la opción --useInverter que copia los datos en lugar de replicarlos.

asr --source /dev/disk3 --target /dev/disk5 --erase --useInverter --buffers 1 --buffersize 1g

Lo que no me ayudó

  • Diskutil repairVolume no pudo corregir el error:
    diskutil repairvolume disk5

     Started file system repair on disk5
     Repairing storage system
     Performing fsck_apfs -y -x /dev/disk4s2
     Checking the container superblock
     Checking the space manager
     Checking the space manager free queue trees
     Checking the object map
     Checking volume
     Checking the APFS volume superblock
     The volume itunes_backup was formatted by newfs_apfs (748.1.47) and last modified by apfs_kext (1677.50.1)
     Checking the object map
     Checking the snapshot metadata tree
     Checking the snapshot metadata
     Checking the extent ref tree
     Checking the fsroot tree
     error: (oid 0xa67b) apfs_root: btn: invalid o_cksum (0x5824c5de98a6fb78)
     fsroot tree is invalid
     The volume /dev/disk4s2 could not be verified completely
     Storage system check exit code is 0
     Finished file system repair on disk5
  • En reddit ( Error de primeros auxilios de la Utilidad de Discos ) se sugiere ejecutar fsck_apfs -y /dev/yourdisk . Básicamente es lo mismo que diskutil repairVolume con más opciones, pero no me ayudó.

  • Probado hdiutil convert y se completó, pero no pudo corregir el error. Supongo que esto se debe a que no tiene conocimiento del contenedor APFS.
    Sin embargo, sin el error en mi fuente la conversión funciona, por supuesto.
    hdiutil convert itunes_backup.sparsebundle -format UDSB -tgtimagekey sparse-band-size=131072 -o itunes_backup_131072.sparsebundle

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X