0

The Question

Is there a way to mount MS scDPM filesystem with linux? Or a way to expose the data within scDPM volume with linux?

OPTIONAL READING BELOW

My question is above. The rest is extra reading & maybe it can teach you how to mount lun files (if you were curious, although that kossboss link does the same thing). if your curious on the background of my issue here you can read below.

The Situation

I have MS scDPM on an ISCSI lun (which is a file on a x86 NAS system). The ISCSI is not starting (not initiating) so I want to mount it locally on the NAS and backup the data from there (I could expose the data inside the Lun with SMB). The lun just appears like a 11 TB file. If this was NTFS or VMFS on that LUN, I could use kpartx to expose the partitions as loop devices, and ntfs-3g or vmfs-tools to mount NTFS or VMFS. However I cant use NTFS nor VMFS on a MS scDPM volume because it has its own unique filesystem it appears (It appears that MS scDPM doesnt use NTFS, but uses its own filesystem).

Basically my question is: Do we have any MS DPM mount tools for linux? And where/how do i get them?

Also Im able to run kpartx against it to expose the MS DPM 3 partitions as loop devices. It has a 3rd partition which is the biggest partition which obviously has my data (which is 11 TB). When I run "file -s /dev/mapper/loop3p2" against it, it just its "data". It doesnt say "NTFS" or anything else more useful. VMFS also says "data", however that doesnt matter because I can mount it with vmfs-tools.

Here is an article showing how I would mount an NTFS or VMFS lun file (or dd image) using kpartx and mount tools: http://ram.kossboss.com/mount-luns-with-partitions-using-losetup-and-kpartx/

More Info

When I expose an NTFS lun with KPARTX I get /dev/loop1, which has 2 partitions, the 2nd partition has the NTFS data. Here is the output of blockdev --getsize64 /dev/mapper/loop1p2 and also file -s /dev/mapper/loop1p2

/dev/mapper/loop1p2 3848154382336: /dev/mapper/loop1p2: x86 boot sector, code offset 0x52, OEM-ID "NTFS ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 264192, dos < 4.0 BootSector (0x80)

When I expose an MS scDPM lun with KPARTX I get /dev/loop3, which has 3 partitions, the 3rd Partition is all of the data. Here is the output of ** blockdev --getsize64 /dev/mapper/loop3p3 ** and also ** file -s /dev/mapper/loop1p2 **. Notice that it doesnt know what it is, it just knows its a 17 TB file with data (11 TB of it is used).

/dev/mapper/loop3p3 17592051792896: /dev/mapper/loop3p3: data 

The Steps:

This is how I went about exposing my luns on my NAS via Samba

# get the the right apps 
# kpartx analyzes files for partitions and makes loop back devices out of them
# ntfs-3g to mount ntfs-3g
apt-get update
apt-get install kpartx ntfs-3g

## these iscsi_lun_backing_store files are huge few TBs (they are like giant iso files with partition tables and filesystems on those partitions, just like a regular HDD would be)
kpartx -a /Data/DPMDATA/.iscsi/iscsi_lun_backing_store
kpartx -a /Data/SPData/.iscsi/iscsi_lun_backing_store

# here is the loop back devices that kpartx made
losetup -a 
# /dev/loop1: [001d]:258 (/Data/SPData/.iscsi/iscsi_lun_backing_store) 
# /dev/loop3: [001f]:258 (/Data/DPMDATA/.iscsi/iscsi_lun_backing_store) 

# Here is the loop back device partitions that kpartx found in the loop devices (in the luns)
find /dev | grep mapper 
# /dev/mapper/loop3p3 
# /dev/mapper/loop3p2 

# /dev/mapper/loop3p1 # /dev/mapper/loop1p2 # /dev/mapper/loop1p1

# preparing mnt1 mount point which will be exposed via samba mkdir /mnt1 mkdir /mnt1/ExDataLUN mkdir /mnt1/DPMDATA

# mount the NTFS lun ntfs-3g -o ro /dev/mapper/loop1p2 /mnt1/SPData/ # PROBLEM: now I dont know how to mount /dev/mapper/loop3p2 to /mnt1/DPMDATA

After this I will expose /mnt1 thru samba and I will be able to access everything

I make a tmp samba conf file like this

vi /tmp/samba.conf

With this content

[global] 
host msdfs = yes 
dos charset = CP1252 
guest account = guest 
hostname lookups = 0 
idmap config * : range = 32768 - 2147483647 
invalid users = root 
load printers = 0 
log level = 0 auth:2 
map to guest = Bad User 
max log size = 512 
name resolve order = lmhosts host wins bcast 
oplocks = 1 
passdb backend = tdbsam 
passwd program = "/usr/bin/passwd %u" 
realm = local1.local 
security = user 
server string = "%h" 
syslog only = 0 
template homedir = /home/%U 
unix charset = UTF-8 
unix password sync = 1 
veto files = /Network Trash Folder/Temporary Items/ 
workgroup = LOCAL1 

[all-data] 
path = /mnt1 
comment = "" 
guest ok = 1 
admin users = "+admin","Administrator" 
writeable = 1 
follow symlinks = 1 

And I lunch smb using

/usr/sbin/smbd -s/tmp/samba.conf

Mistake:

I originally posted my question on Ubuntu Ask. That was incorrect of me to do. I apologize: https://askubuntu.com/questions/683176/how-to-mount-a-microsoft-data-protection-manager-dpm-volume-image-in-linux

1 Answer 1

1

i found a converter which converts vhdx to vmdk.

per http://www.commandlinefu.com/commands/view/12554/mount-a-vmware-virtual-disk-.vmdk-file-on-a-linux-box

it seems that you can mount vmdk to linux once you get the loop information like you were saying.

the converter is a freeware: https://www.starwindsoftware.com/converter

were you able to get any further along with mounting it using your method?

my question is on the link above it sets the filetype for ntfs...

sudo mount vmware-server-flat.vmdk /tmp/test/ -o ro,loop=/dev/loop1,offset=32768 -t ntfs

my vm disk is a linux vm disk so if i change ntfs to ext4 for linux partitions will it mount just the same?

i.e -t ext4 instead of -t ntfs

let me know what you think... if this will work!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.