From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6135655902528176323==" MIME-Version: 1.0 From: Walker, Benjamin Subject: =?utf-8?q?Re=3A_=5BSPDK=5D_=E7=AD=94=E5=A4=8D=3A_NVMe-oF_question_with_SP?= =?utf-8?q?DK?= Date: Thu, 20 Sep 2018 18:43:56 +0000 Message-ID: In-Reply-To: CY4PR03MB2503A8512E259428E82DEF21C1130@CY4PR03MB2503.namprd03.prod.outlook.com List-ID: To: spdk@lists.01.org --===============6135655902528176323== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, 2018-09-20 at 08:01 +0000, Shi Bingxun wrote: > Hi Changpeng, > = > = > Thanks for your clarification. So that means with current version SPDK, > NVMeOF info can't be saved, including NVMe bdevs, logical volumes create= d on > the bdevs. All settings will be reset after target reboots. Is my > understanding correct? SPDK is currently transitioning between configuration models. The old model= was a configuration file (examples are in etc/spdk/*.conf) that was passed to t= he target application when it was started. Passing the same configuration file= on each run meant that the configuration was persisted. The configuration file= is still supported, but isn't long term solution. The new model is to start up the target with no arguments, send it a series= of JSON-RPC commands using one of our command-line tools to configure it, then= send it a "save config" JSON-RPC that will dump out a sequence of JSON-RPC comma= nds to reproduce the current configuration state. That can be saved to a file a= nd the next time the target is started that file can be passed in to recover t= he state. We're almost done implementing all of the infrastructure for this mo= del, but we're not quite there just yet. To further complicate matters, some SPDK configuration data is stored in the configuration file and some is stored as metadata on the storage devices themselves (such as logical volume information). For a system containing lo= gical volumes, for example, the configuration file only specifies which storage devices to claim. These devices are examined at start up and if metadata is found, the logical volumes are created using that automatically. > = > = > Neil > = > ________________________________ > =E5=8F=91=E4=BB=B6=E4=BA=BA: SPDK =E4=BB=A3= =E8=A1=A8 Liu, Changpeng < > changpeng.liu(a)intel.com> > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2018=E5=B9=B49=E6=9C=8820=E6=97=A5 = 7:43:31 > =E6=94=B6=E4=BB=B6=E4=BA=BA: Storage Performance Development Kit > =E6=8A=84=E9=80=81: shibx(a)lenovo.com > =E4=B8=BB=E9=A2=98: Re: [SPDK] NVMe-oF question with SPDK > = > SPDK already provides such framework right now, but NVMeoF part is still > missing, > the configuration can be saved to JSON file(Already done) and can be load= ed > for next start(missing). > = > = > > -----Original Message----- > > From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Shi Bingxun > > Sent: Thursday, September 20, 2018 3:21 PM > > To: spdk(a)lists.01.org > > Cc: shibx(a)lenovo.com > > Subject: [SPDK] NVMe-oF question with SPDK > > = > > Dear experts, > > = > > = > > Could you help to advice for my issues with SPDK? I'm trying to setup N= VMe > > over > > fabric environment using SPDK. With below listed steps, I can successfu= lly > > connect NVMe subsystem on initiator. So I think my steps should > > work. But I > > found once the target reboots, the setup information on the target wil= l be > > gone, > > like the created NVMe bdevs, I'm really confused. Won't the created bde= v be > > saved? > > = > > -----------------------------------------------------------------------= ----- > > ------------------ > > = > > On NVMe target: > > = > > sudo scripts/setup.sh > > ./app/nvmf_tgt/nvmf_tgt & > > cd scripts > > ./rpc.py construct_nvme_bdev -b NVMe1 -t PCIe -a 0000:03:00.0 > > ./rpc.py construct_nvmf_subsystem nqn.2016-06.io.spdk:cnode1 "trtype:RD= MA > > traddr:192.168.1.2 trsvcid:4420" "" -a -s SPDK00000000000001 -n NVMe1n1 > > = > > On initiator: > > nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a 192.168.1.2 -s = 4420 > > -----------------------------------------------------------------------= ----- > > -------------------- > > When target reboots, I run below command to check the bdev, it reports > > "*ERROR*: bdev 'Nvme0n1' does not exist" > > ./app/nvmf_tgt/nvmf_tgt & > > ./rpc.py get_bdevs -b NVMe1n1 > > = > > = > > On SPDK website, there is a configuration file followed nvmf_tgt comman= d. I > > tried > > to add "TransportID "trtype:PCIe traddr:0000:03:00.0" NVMe1" in the > > configuration file, NVMe1n1 bdev is available after this command. But l= ooks > > like > > the NVMe bdev is created again when the command runs, is my understandi= ng > > correct? > > = > > app/nvmf_tgt/nvmf_tgt -c /path/to/nvmf.conf > > = > > = > > = > > Thanks > > Neil > > _______________________________________________ > > SPDK mailing list > > SPDK(a)lists.01.org > > https://lists.01.org/mailman/listinfo/spdk > = > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk --===============6135655902528176323==--