Monte a partição Linux do iSCSI ext2 no FreeBSD 10.2

2

Eu decidi mudar do CentOS para o FreeBSD 10 depois que tive uma boa experiência em instalá-lo em um Xserve G4 (PowerPC, isso é uma história para outro dia se alguém estiver interessado).

De qualquer forma, minha máquina do CentOS (x86) conectou-se a um destino iSCSI que continha todos os meus dados. Agora estou tentando conectar minha nova máquina FreeBSD àquele alvo iSCSI e montar a partição.

Não tenho problema em conectar o alvo. Emitindo o comando

# iscsictl


Result:
Target name                          Target portal    State
iqn.2000-01.com.synology:diskstation.linuxserver diskstation.home Connected: da0

Ok, minha unidade está conectada. Se eu fizer um fdisk naquela unidade em particular, eu vejo que o sysid = 131, o que significa que é uma partição ext2 / ext3 - isso está correto.

fdisk /dev/da0
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=1305 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=1305 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 131 (0x83),(Linux native)
start 2048, size 20969472 (10239 Meg), flag 0
    beg: cyl 1/ head 0/ sector 1;
    end: cyl 1023/ head 63/ sector 32

Aqui é onde entra o problema.

Quando tento montar o volume, recebo uma mensagem de erro "Argumento inválido"

# mount -t ext2fs /dev/da0s1 /mnt
mount: /dev/da0s1: Invalid argument

Quando olho para o meu / var / log / messages, encontro esta mensagem:

WARNING: mount of da0s1 denied due to unsupported optional features

Eu não sei qual argumento está procurando e não tenho conhecimento de nenhum "recurso opcional não suportado".

Um ponto na direção certa seria muito apreciado.

Atualizar

Eu emiti o seguinte comando para carregar manualmente o ext2fs como um modo carregável do kernel, de acordo com a página man man ext2fs (5) .

# kldload ext2fs
kldload: can't load ext2fs: module already loaded or in kernel

Então, parece que o suporte já existe, apenas não está se conectando.

    
por Allan 22.01.2016 / 14:59

2 respostas

0

Resposta

Eu encontrei este tópico nos fóruns do FreeBSD. Embora fosse quase idêntico ao meu problema em quase todos os aspectos, o principal ponto de diferenciação era que ele se referia ao ext4, não ao ext2.

Como o ext4 é tecnicamente compatível com o ext2 / 3, resolvi arriscar e ver se poderia tentar essa solução - funcionou.

Aqui está o que eu fiz para montar a unidade

1) Instale o fusefs-ext4fuse (usando o método ports)

cd /usr/ports/sysutils/fusefs-ext4fuse
make install clean

O fusível será concluído e instalado em cerca de 20 segundos (foi o que demorou para mim)

então eu emiti o comando:

# kldload fuse

2) Em seguida, montei a unidade em um ponto de montagem que eu criei anteriormente (esse diretório deve existir).

# ext4fuse /dev/da0s1 /mnt/linux

Então eu atravesso para o diretório e listo o conteúdo

# cd /mnt/linux

# ls

.DS_Store       ._foundation        html
.VolumeIcon.icns    ._html          lost+found
._.         cgi-bin         site-backups
._.DS_Store     cron.log
._.VolumeIcon.icns  foundation

Funciona!

3) Em seguida, fui ao meu NAS, criei outro destino iSCSI e o formatei com o extFAT (ou Fat32) para que ele seja compatível em Mac / Windows / Linux / FreeBSD. Eu então copiei todo o conteúdo da minha unidade original para a nova unidade com o formato mais compatível.

    
por 02.02.2016 / 17:33
2

O sistema de arquivos ext2fs é opcional no FreeBSD e precisa ser carregado.

Adicione a seguinte linha a /boot/loader.conf para que ela seja carregada no momento da inicialização:

ext2fs_load="YES"
    
por 22.01.2016 / 16:30