Am I understanding shardSpec correctly?

If I have 6 realtime nodes collecting data using pull-based method from RabbitMQ

Each of the server has

"shardSpec": { "type": "linear", "partitionNum": 0 }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 1
   }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 2
   }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 4
   }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 4
   }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 5
   }

If I were to restart the first RT node. I would lose the data in that node? If I want to prevent that from happening. I need to get a new RT Node with the same shardSpec?

   "shardSpec": {
    "type": "linear",
    "partitionNum": 0
   }

   "shardSpec": {
    "type": "linear",
    "partitionNum": 0
   }

So, if either one of them crashed the other one still collecting data for that partition?