ut-osa / strata

Strata: A Cross Media File System
69 stars 42 forks source link

strata configuration problem #30

Open anoyiuhu opened 4 years ago

anoyiuhu commented 4 years ago

Hi, I followed the guide in strata github and encounter some problems.

  1. After I use kernel-4.8.12 within strata github in my own machine, my machine couldn't work, it showed "failed to mount /sysroot; Dependency failed for Initrd Root File System; Dependency failed for Reload Configuration from Real boot" I thought there might be something wrong in kernel-4.8.12. So I tried kernel-4.14(which is from https://www.kernel.org/ , it works for my machine. Do you think it is appropriate to use kernel 4.14 in strata?(It could provide pmem emulation)
  1. I am confused about the third instruction here(https://github.com/ut-osa/strata#3-setup-storage-size). What does this step do and how should it be done?

  2. I skip the third instruction and tried fourth and fifth instruction. What does \<dev id> mean? I tried sudo ./bin/mkfs.mlfs 1, ./bin/mkfs.mlfs 2; they couldn;t work. The result is shown below:

    result of ./bin/mkfs.mlfs 1:

Screen Shot 2020-08-31 at 5 07 54 PM

result of ./bin/mkfs.mlfs 2:

Screen Shot 2020-08-31 at 5 07 39 PM

"dev id is a device identifier used in Strata (hardcoded)", Does this mean that the code about device identifier should be modified with different machines and storage device?

Looking forward to your reply

Best regard

KezhengLiu commented 1 year ago

Step 3 is setup the location of devieces in the source code.

In Step 2 of Running Strata, the pmem mapping will be changed to dax mapping

which maps pmem to /dev/dax*

In Step 4 of Running Strata, nvme mapping will be changed into uio mapping

which maps nvme0n1 to /dev/uio*

The dev path is defined in code strata/libfs/src/storage/storage.c

char *g_dev_path[] = {
    (char *)"unused",
    (char *)"/dev/dax0.0",
    (char *)"/backup/mlfs_ssd",
    (char *)"/backup/mlfs_hdd",
    (char *)"/dev/dax1.0",
    (char *)"/dev/dax2.0",
};

what you have to do is change it to

char *g_dev_path[] = {
    (char *)"unused",
    (char *)"/dev/dax0.0",
    (char *)"/dev/uio0",
    (char *)"/backup/mlfs_hdd",
    (char *)"/dev/dax1.0",
    (char *)"/dev/dax2.0",
};

and then repeat steps 4 and 5 of Building Strata

KezhengLiu commented 1 year ago

Another issuse here is the size of the devices

Make sure everything is OK, each device's size equal to there real size

Suggestion size of Sharing area >=8G

Suggestion size of Log area >=3G